Probleme mit !-f, !-d
Christian Kruse
- webserver
Hallo alle,
ich habe ein kleines Problem mit mod_rewrite, vielleicht kann
ja mal jemand schauen, was da jetzt los ist. Folgende Regel
soll, falls eine Datei oder ein Verzeichnis mit dem
geforderten Namen nicht vorhanden ist, umleiten auf ein
Script:
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?path/(.*) /cgi-bin/script/$1 [L]
Leider bekomme ich nur einen 404. Aendere ich die Regel
hingegen in
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* %{REQUEST_URI} [C]
RewriteRule ^/?path/(.*) /cgi-bin/script/$1 [L]
funktioniert alles bestens -- mit der Ausnahme, dass in
PATH_INFO nun der Pfad doppelt drin steht. Was ist da jetzt
falsch?
Gruesse,
CK
Moin!
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^/?path/(.*) /cgi-bin/script/$1 [L]
Ich habe unter Windows und Linux mit folgendem Konstrukt Erfolg gehabt:
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-s
prüft auf Abwesenheit einer mehr als 0 Byte langen Datei.
mit der Ausnahme, dass in
PATH_INFO nun der Pfad doppelt drin steht. Was ist da jetzt
falsch?
Bei Operationen mit mod_rewrite setze ich immer darauf, dass die ursprünglich abgefragte URL vom Modul in die CGI-Umgebung als SCRIPT_URL eingebracht wird.
- Sven Rautenberg