Du befindest Dich im Archiv vom ABAKUS Online Marketing Forum. Hier kannst Du Dich für das Forum mit den aktuellen Beiträgen registrieren.

Merkwürdiges mit Apache-Rewrite: Datei = Verzeichnis?

Ajax, Hijax, Microformats, RDF, Markup, HTML, PHP, CSS, MySQL, htaccess, robots.txt, CGI, Java, Javascript usw.
Neues Thema Antworten
mcchaos
PostRank 9
PostRank 9
Beiträge: 1414
Registriert: 27.07.2004, 19:18

Beitrag von mcchaos » 01.02.2006, 11:47

Hallo!

Ich möchte per .htaccess gerne eine eigene Fehlerseite ausgeben, wenn eine Datei oder ein Verzeichnis nicht existiert:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /notfound.php4 [L]

Das funktioniert auch:
https://www.meinedomain.de/dasgibtsnicht/asdqewqe.php4
-> Fehlerseite

Komisches passiert aber, wenn ich in dem Pfad eine Datei habe, die existiert. Beispiel:
https://www.meinedomain.de/index/asdqewqe.php4
(/index.php4 existiert, aber /index/ existiert nicht).

Dann gibt Apache (1.3.29) im Browser aus: "No input file specified." statt der Fehlerseite. Des weiteren erscheint im Rewrite-Log:

Code: Alles auswählen

(3) [per-dir e:/documentroot/] add path-info postfix: e:/documentroot/index.php4 -> e:/documentroot/index.php4/asdqewqe.php4
(3) [per-dir e:/documentroot/] strip per-dir prefix: e:/documentroot/index.php4/asdqewqe.php4 -> index.php4/asdqewqe.php4
(3) [per-dir e:/documentroot/] applying pattern '^(.*)$' to uri 'index.php4/asdqewqe.php4'
(4) RewriteCond: input='e:/documentroot/index.php4' pattern='!-f' => not-matched
(1) [per-dir e:/documentroot/] pass through e:/documentroot/index.php4
Wobei die 1. Zeile mehr als merkwürdig ist:
e:/documentroot/index.php4/asdqewqe.php4

Kann mir das jemand erklären und wie erreiche ich, dass auch bei Eingabe von https://www.meinedomain.de/index/asdqewqe.php4 meine Fehlerseite kommt?

Viele Grüße

mcchaos