Hallihallo!
Wenn ich eine URI aufrufe, soll die .htaccess-Datei prüfen, ob das Verzeichnis "app" existiert. Falls es existiert, soll ein Rewrite dorthin gemacht werden, falls nicht, soll ein Rewrite zum Verzeichnis "libs/install" gemacht werden.
Im Verzeichnis "libs/install" wird ein Installer angestoßen, der das "app"-Verzeichnis dann erstellt.
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond app -d
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
RewriteCond libs !-d
RewriteRule ^$ libs/install/ [L]
RewriteRule (.*) libs/install/$1 [L]
</IfModule>
Im Verzeichnis libs/install ist folgende .htaccess-Datei:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?step=$1 [QSA,L]
</IfModule>
Wenn das Verzeichnis "app" tatsächlich existiert, funktioniert alles wie gewünscht. Wenn es nicht existiert, bekomme ich einen 500 Internal Server Error, im error_log mit folgender Fehlermeldung:
[Tue Jan 01 17:08:40 2008] [error] [client 127.0.0.1] mod_rewrite: maximum number of internal redirects reached. Assuming configuration error. Use 'RewriteOptions MaxRedirects' to increase the limit if neccessary.
Das rewrite_log zeigt Folgendes:
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (3) [per-dir /Users/jg/Development/shushmvc/] strip per-dir prefix: /Users/jg/Development/shushmvc/ ->
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (3) [per-dir /Users/jg/Development/shushmvc/] applying pattern '^$' to uri ''
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (4) RewriteCond: input='app' pattern='-d' => not-matched
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (3) [per-dir /Users/jg/Development/shushmvc/] strip per-dir prefix: /Users/jg/Development/shushmvc/ ->
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (3) [per-dir /Users/jg/Development/shushmvc/] applying pattern '(.*)' to uri ''
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (2) [per-dir /Users/jg/Development/shushmvc/] rewrite -> app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (3) [per-dir /Users/jg/Development/shushmvc/] add per-dir prefix: app/webroot/ -> /Users/jg/Development/shushmvc/app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (2) [per-dir /Users/jg/Development/shushmvc/] strip document_root prefix: /Users/jg/Development/shushmvc/app/webroot/ -> /app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#92f050/initial] (1) [per-dir /Users/jg/Development/shushmvc/] internal redirect with /app/webroot/ [INTERNAL REDIRECT]
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] add path info postfix: /Users/jg/Development/shushmvc/app -> /Users/jg/Development/shushmvc/app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] strip per-dir prefix: /Users/jg/Development/shushmvc/app/webroot/ -> app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] applying pattern '^$' to uri 'app/webroot/'
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] add path info postfix: /Users/jg/Development/shushmvc/app -> /Users/jg/Development/shushmvc/app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] strip per-dir prefix: /Users/jg/Development/shushmvc/app/webroot/ -> app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] applying pattern '(.*)' to uri 'app/webroot/'
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (2) [per-dir /Users/jg/Development/shushmvc/] rewrite app/webroot/ -> app/webroot/app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (3) [per-dir /Users/jg/Development/shushmvc/] add per-dir prefix: app/webroot/app/webroot/ -> /Users/jg/Development/shushmvc/app/webroot/app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (2) [per-dir /Users/jg/Development/shushmvc/] strip document_root prefix: /Users/jg/Development/shushmvc/app/webroot/app/webroot/ -> /app/webroot/app/webroot/
127.0.0.1 - - [01/Jan/2008:17:16:22 +0100] [shushmvc/sid#88fba0][rid#93b648/initial/redir#1] (1) [per-dir /Users/jg/Development/shushmvc/] internal redirect with /app/webroot/app/webroot/ [INTERNAL REDIRECT]
(und immer so weiter)
An dieser Stelle weiß ich leider nicht weiter und hoffe, dass mir hier jemand fachmännisch helfen kann :).
Beste Grüße
- Jérôme