Hallo,
betreibe eine Server, auf den mehrere Domains verweisen. Moechte eine bestimmte Domain auf ein Unterverzeichnis weiterleiten.
z.B. :
wenn domain.xy aufgerufen wird, dann rufe die Dateien aus Verzeichnis /home/peter/beispiel/ ab.
Das Ganze moechte ich mit einer Rewrite - Rule in einer .htaccess Datei machen, also keine Virual-Host Konfiguration in httpd.conf
.htaccess:
Options Includes +ExecCGI +FollowSymLinks +Includes +MultiViews
RewriteEngine on
RewriteRule [...]
und wie gehts hier weiter?
Danke und Gruss
Fossy
Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Du liest dir die Apache-Doku zu mod_rewrite, insbesondere zu RewriteRule und RewriteCond durch.
Für Apache 1.3: http://httpd.apache.org/docs/mod/mod_rewrite.html
Für Apache 2.0: http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html
Achte bei RewriteCond auf die Variable HTTP_HOST.
Ansonsten könntest du dir auch mod_vhost_alias ansehen.
Für Apache 1.3: http://httpd.apache.org/docs/mod/mod_rewrite.html
Für Apache 2.0: http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html
Achte bei RewriteCond auf die Variable HTTP_HOST.
Ansonsten könntest du dir auch mod_vhost_alias ansehen.
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Hallo,wirsing wrote:Du liest dir die Apache-Doku zu mod_rewrite, insbesondere zu RewriteRule und RewriteCond durch.
Für Apache 1.3: http://httpd.apache.org/docs/mod/mod_rewrite.html
Für Apache 2.0: http://httpd.apache.org/docs-2.0/mod/mod_rewrite.html
Achte bei RewriteCond auf die Variable HTTP_HOST.
Ansonsten könntest du dir auch mod_vhost_alias ansehen.
habe da noch so meine Problemchen mit.
#############################
RewriteEngine on
RewriteCond %{HTTP_HOST} ^217.160.xxx.xxx$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^217.160.xxx.xxx(.*) /dir/subdir/$1$2
#############################
Dieser Code muesste doch alle Zugriffe auf die IP 217.160.xxx.xxx auf das Verzeichnis /dir/subdir umleiten. Das geht leider nicht - warum eigenltich nicht?
Gruss
Fossy
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Mit folgendem Code wird umgeleitet - es entsteht aber so etwas wie eine schleife, da die umgeschriebene domain ja wieder auf das Suchmuster passt:fossy wrote: habe da noch so meine Problemchen mit.
#############################
RewriteEngine on
RewriteCond %{HTTP_HOST} ^217.160.xxx.xxx$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^217.160.xxx.xxx(.*) /dir/subdir/$1$2
#############################
Dieser Code muesste doch alle Zugriffe auf die IP 217.160.xxx.xxx auf das Verzeichnis /dir/subdir umleiten. Das geht leider nicht - warum eigenltich nicht?
RewriteCond %{HTTP_HOST} ^meinedomain.com$
RewriteRule ^(.*)$ /dir/subdir/$1
Kann man diese Schleife irgendwie verhindern?
Gruss
Fossy
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Da du dir jetzt schon mal Gedanken darüber gemacht hast, meine Idee:
In der zweiten Zeile wird dann eben noch ein www. am Anfang herausgefiltert, da Leute sowohl mit als auch ohne www auf die Seite kommen sollten.
Die verschiedenen Ordner für die Domains musst du dann im DocumentRoot anlegen. Eine Erweiterung wäre dann, noch zu überprüfen, ob der Ordner existiert und andernfalls auf einen Standard-Ordner umzuleiten.
Code: Select all
RewriteEngine On
RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1 [C]
RewriteRule ^/(www.)?(.*)$ /$2 [L]Die verschiedenen Ordner für die Domains musst du dann im DocumentRoot anlegen. Eine Erweiterung wäre dann, noch zu überprüfen, ob der Ordner existiert und andernfalls auf einen Standard-Ordner umzuleiten.
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Aber es geht ja schon ohne http://www.* nicht! Error_log sagt:wirsing wrote:Da du dir jetzt schon mal Gedanken darüber gemacht hast, meine Idee:In der zweiten Zeile wird dann eben noch ein www. am Anfang herausgefiltert, da Leute sowohl mit als auch ohne www auf die Seite kommen sollten.Code: Select all
RewriteEngine On RewriteRule ^/(.*)$ /%{HTTP_HOST}/$1 [C] RewriteRule ^/(www.)?(.*)$ /$2 [L]
Die verschiedenen Ordner für die Domains musst du dann im DocumentRoot anlegen. Eine Erweiterung wäre dann, noch zu überprüfen, ob der Ordner existiert und andernfalls auf einen Standard-Ordner umzuleiten.
File name too long: access to /dir/subdir/meinedomain.comdir/subdir/meinedomain.comdir/subdir/meinedomain.com [...] failed
Bei folgender Anweisung in .htaccess:
RewriteCond %{HTTP_HOST} ^meinedomain.com$
RewriteRule ^(.*)$ /dir/subdir/$1
Oder muss in die RewriteRule jetzt auch noch mal der Domainname. Scheixxe, jetzt bin ich total durcheinander!
Gruss
Fossy
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
Schreib mal das von mir in die httpd.conf außerhalb von igendwelchen <Directory>- oder <IfDefined>- Blöcken und starte dann den Server neu (apachectl graceful)
Re: Mod_Rewrite: domain.xy auf Unterverzeichnis umleiten
hallo,wirsing wrote:Schreib mal das von mir in die httpd.conf außerhalb von igendwelchen <Directory>- oder <IfDefined>- Blöcken und starte dann den Server neu (apachectl graceful)
ich moechte die anweisung aber in .htaccess unterbringen, nicht in httpd.conf
folgende Anweisung scheint zu funktionieren:
RewriteCond %{HTTP_HOST} ^meinedomain.* [OR]
RewriteCond %{HTTP_HOST} ^www.meinedomain.*
RewriteRule ^(.*)$ /dir/subdir/$1
das problem aber ist, dass, wie schon in einem meiner letzten postings erwaehnt, eine art schleife erzeugt wird. das error_log sagt dann folgendes:
File name too long: access to /dir/subdir/dir/subdir/dir/subdir/dir/subdir/dir/subdir/dir/subdir/dir/subdir/dir/subdir/dir/subdir/dir/subdir [...] failed