Mod_Rewrite und Virtual Hosts ( Apache 1.3x )
CCE
- webserver
0 Sven Rautenberg0 CCE0 Sven Rautenberg0 CCE
Hi,
ich arbeite schon seit Ewigkeiten mit mod_rewrite - Anweisungen in .htaccess - Dateien. Jetzt habe ich das erste Mal versucht das Gleiche über die httpd.conf zu erreichen, also die gleichen Anweisungen in die VirtualHost-Definitionen zu packen und es klappt einfach nicht. Der Apache tut so, als wären keine Anweisungen vorhanden. Es gibt keine Fehlermeldungen und auch das rewrite.log bleibt leer. Hat jemand von euch eine Idee? Da ich genau die gleichen Anweisungen nutze, muss es ja quasi ein klassischer Fehler sein, aber ich habe im Rewrite Guide nichts gefunden.
Gruss
CCE
Moin!
ich arbeite schon seit Ewigkeiten mit mod_rewrite - Anweisungen in .htaccess - Dateien. Jetzt habe ich das erste Mal versucht das Gleiche über die httpd.conf zu erreichen, also die gleichen Anweisungen in die VirtualHost-Definitionen zu packen und es klappt einfach nicht. Der Apache tut so, als wären keine Anweisungen vorhanden. Es gibt keine Fehlermeldungen und auch das rewrite.log bleibt leer. Hat jemand von euch eine Idee? Da ich genau die gleichen Anweisungen nutze, muss es ja quasi ein klassischer Fehler sein, aber ich habe im Rewrite Guide nichts gefunden.
Die zu stellende Frage ist: In welchem Verzeichnis ist die .htaccess, und welche Anweisungen stehen jetzt in der httpd.conf?
Ich vermute einen Pfad-Trouble.
- Sven Rautenberg
Die zu stellende Frage ist: In welchem Verzeichnis ist die .htaccess, und welche Anweisungen stehen jetzt in der httpd.conf?
Ich vermute einen Pfad-Trouble.
Hallo,
zum Testen habe ich die simpelste Form genommen. Eine .htaccess mit folgendem Inhalt liegt im DocumentRoot:
RewriteEngine On
RewriteRule ^test.htm$ index.htm
Der Zugriff auf test.htm wird wie vorgesehen auf index.htm umgeschrieben. Lösche ich die .htaccess und setze die gleichen Zeilen in die VirtualHost - Konfiguration direkt unter DocumentRoot, tut sich gar nichts.
Gruss
CCE
Moin!
RewriteEngine On
RewriteRule ^test.htm$ index.htmDer Zugriff auf test.htm wird wie vorgesehen auf index.htm umgeschrieben. Lösche ich die .htaccess und setze die gleichen Zeilen in die VirtualHost - Konfiguration direkt unter DocumentRoot, tut sich gar nichts.
Was logisch ist, weil dein regulärer Ausdruck nicht matcht.
Wenn die URL "http://www.example.com/test.htm" angefordert wird, mußt du im Regex auf den führenden Schrägstrich mittesten:
RewriteRule ^/test.htm$ /index.htm
Wenn du dir die zahlreichen Beispiele in der mod_rewrite-Doku und im RewriteGuide ansiehst, dann wäre dir das vielleicht aufgefallen. :)
- Sven Rautenberg
Was logisch ist, weil dein regulärer Ausdruck nicht matcht.
Wenn die URL "http://www.example.com/test.htm" angefordert wird, mußt du im Regex auf den führenden Schrägstrich mittesten:
RewriteRule ^/test.htm$ /index.htm
Hallo,
peinlich, stimmt jetzt klappts. Ist ja auch logisch, habe ich nur überhaupt nicht drüber nachgedacht, weil ich einfach die alten Anweisungen übertragen habe. Aber die httpd.conf setzt ja viel früher an. Vielen dank für deine Hilfe.
Gruss
CCE