Mathias Brodala: PHP Dateien wie Ordner aufrufen

Beitrag lesen

Hallo Pot.

.htaccess:
RewriteEngine On
RewriteRule /haha/ ./test.php

test.php:
bliblo

Aufruf:
meineseite.de/haha/

Ausgabe:
404 Not Found

Nun solltest du einmal einen Blick in dein Rewritelog werfen. Du aktivierst es wie folgt:

RewriteLogLevel 9 # höchste Stufe  
RewriteLog /pfad/zu/einer/von/www-data/beschreibbaren/logdatei

Dies schreibst du in deinen VHost-Container. Eine mögliche Ausgabe könnte nun wie folgt aussehen:

127.0.0.1 - - [05/Nov/2006:01:57:03 +0100] [dev/sid#81a7438][rid#85cdb48/initial] (3) [perdir /www/dev.noctus.net/] add path info postfix: /www/dev.noctus.net/haha -> /www/dev.noctus.net/haha/  
127\.0.0.1 - - [05/Nov/2006:01:57:03 +0100] [dev/sid#81a7438][rid#85cdb48/initial] (3) [perdir /www/dev.noctus.net/] strip per-dir prefix: /www/dev.noctus.net/haha/ -> haha/  
127\.0.0.1 - - [05/Nov/2006:01:57:03 +0100] [dev/sid#81a7438][rid#85cdb48/initial] (3) [perdir /www/dev.noctus.net/] applying pattern '/haha/' to uri 'haha/'  
127\.0.0.1 - - [05/Nov/2006:01:57:03 +0100] [dev/sid#81a7438][rid#85cdb48/initial] (1) [perdir /www/dev.noctus.net/] pass through /www/dev.noctus.net/haha

Hier siehst du bei näherer Betrachtung, dass „/haha/“ ungleich „haha/“ ist. Schlussfolgerst du nun also, den ersten Slash zu entfernen, funktioniert es dagegen wie gewünscht. (Unter Umständen solltest du jedoch „^haha/“ verwenden, um sicher zu gehen, dass das Muster auch nur dann trifft, wenn „haha/“ am Anfang steht.)

Einen schönen Sonntag noch.

Gruß, Mathias

--
sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
debian/rules