dedlfix: mod_rewrite:: maximum number of internal redirects reached

Beitrag lesen

echo $begrüßung;

RewriteCond app -d
RewriteRule    ^$    app/webroot/    [L]

Das ist eine Regel, erweitert um eine Condition. Die kommt beim ersten Durchlauf zum Einsatz, weil sie da passt.

RewriteRule    (.*) app/webroot/$1    [L]

Das ist eine zweite Regel, die passt ab dem zweiten Durchlauf jedes Mal,

RewriteCond app !-d
RewriteRule    ^$    libs/install/    [L]
RewriteRule    (.*) libs/install/$1    [L]

weswegen der Rest unbeachtet bleibt. Eine RewriteCond gilt nur für die eine darauf folgende RewriteRule, nicht für alle weiteren. Meiner ungeprüften Meinung nach muss der Test auf das Nichtvorhandensein des app nach oben. Damit landest du schon mal in libs/install. Allerdings wird nach dem internen Redirekt dorthin diese .htaccess erneut ausgeführt, so dass die Endlos-Schleife bestehen bleibt. Das Problem ist, dass diese .htaccess im Hauptverzeichnis liegt und jedes Mal zur Anwendung kommt, auch wenn nach Unterverzeichnisse gefragt wird. Du müsstest also für alle Requests nach Unterverzeichnissen die Ausführung der Redirect-Regeln unterbinden. Sicher gibt es da noch eine elegantere Lösung ...

echo "$verabschiedung $name";