RewriteRule ergibt HTTP 403
Stefan M.
- webserver
Auf meinem System läuft ein Apache 2.2.4 mit den aktuellen stabilen Versionen von PHP und MySQL. Ich habe mich bei SelfHTML, Wikipedia und im Apache-Handbuch zu regulären Ausdrücken belesen und folgende .htaccess für eine in der Entwicklung befindliche PHP-Anwendung zusammengestellt (hier mit suggestiveren Ordnernamen):
RewriteEngine on
RewriteRule /zugriff/(.*)$ /programm/index.php?$1
Wenn also eine GET-Anfrage auf /zugriff/Test kommt, soll diese umgeleitet werden nach /programm/index.php?Test
Die direkte Anfrage von /programm/index.php?Test funktioniert tadellos, wenn ich jedoch /zugriff/Test anfrage, erhalte ich einen 403 Forbidden. Im Logfile des Apache steht:
127.0.0.1 - - [15/Feb/2007:12:58:02 +0100] "GET /zugriff/Test HTTP/1.1" 403 234
Die .htaccess liegt im htdocs-Verzeichnis. In der httpd.conf habe ich mod_rewrite hinzugefügt und in <Directory "C:/Programme/apache/htdocs"> die Options-Anweisung auf All gestellt. Der Zugriff ist auf den Localhost beschränkt.
Außerdem habe ich diverse andere Container ausprobiert, zum Beispiel
<Location /zugriff>
Order deny,allow
Deny from all
Allow from 127.0.0.1
</Location>
wobei es den Ordner zugriff eigentlich gar nicht gibt, der soll ja umgeleitet werden. Auch habe ich schon geprüft, wie die Zugriffsrechte auf dem Laufwerk aussehen, aber die sind alle (auch im /programm-Ordner) auf mindestens 744 eingestellt.
Für jeden Tipp bedanke ich mich im Voraus.
Mit freundlichen Grüßen
hi,
Für jeden Tipp bedanke ich mich im Voraus.
RewriteLog konfigurieren, Nachschauen was falsch laufen könnte.
gruß,
wahsaga
Hallo.
RewriteLog konfigurieren, Nachschauen was falsch laufen könnte.
Ich hab mal mit RewriteLogLevel 9 reingeschaut und gesehen, dass nur das favicon.ico, das Opera anfragt, umgeschrieben wird. Jetzt liegt die RewriteRule in der httpd.conf und damit läufts. Danke für den Tipp.
hi,
Ich hab mal mit RewriteLogLevel 9 reingeschaut und gesehen, dass nur das favicon.ico, das Opera anfragt, umgeschrieben wird. Jetzt liegt die RewriteRule in der httpd.conf und damit läufts.
OK, aber sollte so ja eigentlich auch zum laufen zu bringen sein.
Vielleicht hätte die Angabe einer passenden RewriteBase weitergeholfen.
gruß,
wahsaga