mod_rewrite über Domaingrenze hinaus
AllesMeins
- webserver
Hiho,
folgende Situation. Ich habe bei meinem Hoster eine subdomain die auf den Ordner
/subdomain
verweist. Darin habe ich eine .htaccess Datei mit der ich die dort ankommenden Anfragen per RewriteRule bearbeiten will. Mein Problem ist das einige Anfragen ein Verzeichniss "höher" gehen sollen. Also ausserhalb von /subdomain.
Also Beispiel:
Die Anfrage http://sub.domain.de/weiter/1 soll an die Datei http://www.domain.de/seite/1.php gehen. Mit absoluten Adressen geht das auch relativ gut, allerdings möchte ich gerne die Subdomain Adresse in der Adressleiste behalten. Und das geht nicht wenn ich weiterleite auf http://www.domain.de/usw...
Intern sieht das ganze so aus. Folgende Verzeichnisse sind auf dem Server:
/
/subdomain
/seite
Die subdomain verweist wie schon gesagt auf /subdomain, die Domain verweist auf /
Nun will ich per RewriteRule von /subdomain in /seite kommen.
RewriteRule ^weiter/(.*) ../seite/$1.php
Das geht aber nicht. Also meine Frage gibt es eine möglichkeit intern über diese Domain-Grenze hinweg zu kommen oder geht das nur mit http://www.....
Grüsse
Marc
Moin!
Das geht aber nicht. Also meine Frage gibt es eine möglichkeit intern über diese Domain-Grenze hinweg zu kommen oder geht das nur mit http://www.....
Nein, nicht mit Rewriting.
Du kannst in deiner Verzeichnisstruktur nicht "höher", als dein definierter DocumentRoot angibt. Diese Angabe gilt pro Host ("Subdomain" ist nur eine technisch falsche Bezeichnung für "Hostname").
Im Prinzip müßtest du weiterleiten auf subdomain.domain.test/../seite/1.php.
Da der Apache die doppelten Punkte eliminiert, weil sie höher als der Docroot gehen würden, wird auf subdomain.domain.test/seite/1.php zugegriffen.
Und damit das geht, muß an dieser Stelle eben das passende Verzeichnis existieren. Symbolische Links auf andernorts existierende Verzeichnisse funktionieren ebenfalls. Ebenso dürfte eine ALIAS-Definition funktionieren (http://httpd.apache.org/docs/mod/mod_alias.html#alias). Die kann man allerdings nicht in einer .htaccess angeben.
- Sven Rautenberg
Hiho,
Symbolische Links auf andernorts existierende Verzeichnisse funktionieren ebenfalls. Ebenso dürfte eine ALIAS-Definition funktionieren
Hmm... da ich leider keinen eigenen Server habe an dem ich das machen könnte bleibt mir also nur die Weiterleitung auf die Domain mit http://www..., ja?
Marc