Hallo!
Ich versuche seit längerer Zeit verzweifelt,
URL Rewriting in meiner .htaccess-Datei für ein Projekt mit dem Zend Framework zu konfigurieren.
Verzeichnisstruktur des Root-Verzeichnisses:
- application/ (hier liegen die Models etc.)
- public/
Verzeichnisstruktur des public-Verzeichnisses: - .htaccess
- index.php
- images/
- scripts/
Meine .htaccess-Datei enthält folgende Zeilen:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]
Wenn ich den Ordner „public“ oder die index.php direkt aufrufe,
funktioniert alles ganz normal,
aber wenn ich zB „http://www.meineurl.net/public/test/“ aufrufe,
werde ich nicht zur index.php weitergeleitet,
sondern es kommt eine HTTP-Error 404 Meldung.
Mir ist klar,
dass dieser Ordner nicht existiert,
aber ich müsste doch weitergeleitet werden.
Am Anfang dachte ich,
dass mod rewrite vielleicht deaktiviert sein könnte,
aber als ich versucht habe statt auf die index.php auf zB Google weiterzuleiten,
hat alles funktioniert.
Das verwirrende für mich an der ganzen Sache ist,
dass sich „http://…/public/index/something/“ aufrufen lässt aber http://…/public/do/something/" nicht.
Bei jedem Aufruf eines virtuellen Ordners (außer „index/“) erhalte ich eine „Seite nicht gefunden“-Fehlermeldung.
Ich hoffe,
dass mir jemand weiterhelfen kann.
Vielen Dank im Voraus!
Daten zum Webserver:
Apache-Version: 2.2.3
PHP-Version: 5.2.9
Loaded Modules enthält mod_rewrite