Subdomain & REQUEST_URI filtern und URL neu aufbauen

mackattack

Mitglied
Moin,

ich hab folgende Problemstellung. Anfragen die in solcher Form an den Server gesendet werden, sollen auf die im Beispiel nachfolgende URL weitergeleitet werden.

Meine Beispiel URL:
http://subdomain.domain.tld/artikel/kinderwagen weiterleiten nach http://www.domain.tld/subdomain/artikel/kinderwagen

Mein Ansatz in der .htaccess
Code:
RewriteCond %{HTTP_HOST}%{REQUEST_URI} ^([^.]+)\.domain\.tld(\/.*)?$ [NC] 
# Folgende Regel funktioniert, greift aber nur die Subdomain ab. Was hier noch fehlt ist die angeforderte REQUEST_URI. 
# RewriteRule ^(.*)? /%1 [L] 
 
# Folgende Regel funktioniert leider nicht. 
RewriteRule ^([^www]|.*?\.)?domain\.tld(\/.*)?$ /%1%2 [L]

Ich hoffe das einer von euch erfahrenen mod_rewriter'n den Fehler findet und mir helfen kann, hierfür schon mal vielen dank.

Gruß
MackAttack
 
Der erste Ansatz war schon nicht schlecht. Probier mal Folgendes:
Code:
RewriteCond   %{HTTP_HOST}   ^([^.]+)\.example\.net$
RewriteRule   (.*)           /%1/$1 [L]
 
Hallo Gumbo,

vielen Dank für deine Antwort und sorry wegen crossposting auf modrewrite.de.

$1 liefert mir test.php zurück. Ich hab das jetzt zum Testen an eine php-Datei weiterleiten lassen:
Code:
RewriteCond %{HTTP_HOST} ^([^.]+)\.domain\.tld$
RewriteRule (.*) test.php?a=%1&b=$1

ein var_dump auf $_GET gibt mir folgendes aus:
Code:
Array
(
    [a] => test
    [b] => test.php
)

Hast du vielleicht noch einen anderen Lösungsansatz, ich bin mit meinem latein definitiv am Ende angekommen. :(

Gruß
mackattack
 
Mein Fehler: die Ersatzadresse muss natürlich absolut sein:
Code:
RewriteCond   %{HTTP_HOST}   !^www\.example\.net$
RewriteCond   %{HTTP_HOST}   ^([^.]+)\.example\.net$
RewriteRule   (.*)           http://www.example.net/%1/$1 [L,R]
 
Mh, so funktioniert es zwar, jedoch erzielt es noch nicht das gewünschte Ergebnis.
Mit deiner RewriteRule ändert sich die URL, ist es möglich, dass es bei der eingehenden URL bleibt und nur intern ein redirect stattfindet?
 
Zurück