
iltdev
Ich verwende Apache 2.4 (64 Bit) und PHP 5.4.15 auf Windows Server 2008 R2 Enterprise und habe den folgenden Fehler im Apache-Fehlerprotokoll festgestellt:
AH00124: Request exceeded the limit of 10 internal redirects due to probable configuration error. Use 'LimitInternalRecursion' to increase the limit if necessary. Use 'LogLevel debug' to get a backtrace.
Ich habe eine Multisite-Installation von WordPress ausgeführt und ich denke, der Fehler kommt von einem Fehler in den htaccess-Umschreibungen.
Wenn Sie sich diesen Beitrag ansehen: Die Anfrage hat das Limit von 10 internen Umleitungen aufgrund eines wahrscheinlichen Konfigurationsfehlers überschritten.?
Sie schlagen vor, dies zu ersetzen:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
mit diesem Stück Code, mit freundlicher Genehmigung von Scott Yang:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /index.php/$1 [L,QSA]
</IfModule>
Mein WordPress htaccess sieht jedoch etwas anders aus, daher möchte ich nicht nur meinen Code ersetzen, falls ich versehentlich etwas ersetze, das ich benötige.
Hier mein htaccess:
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks -MultiViews
Header set Access-Control-Allow-Origin "*"
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
# add a trailing slash to /wp-admin
RewriteRule ^wp-admin$ wp-admin/ [R=301,L]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule . index.php [L]
</IfModule>
# END WordPress
Kann jemand vorschlagen, was ich ändern muss?

Justin Samuel
Dieses Problem kann durch Anfragen nach bestimmten Dateien verursacht werden, die nicht vorhanden sind. Zum Beispiel Anfragen nach Dateien in wp-content/uploads/, wo die Datei nicht existiert.
Wenn dies die Situation ist, die Sie sehen, können Sie das Problem lösen, indem Sie zu .htaccess gehen und diese Zeile ändern:
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
zu:
RewriteRule ^(wp-(content|admin|includes).*) - [L]
Das zugrunde liegende Problem besteht darin, dass die obige Regel ein Umschreiben auf genau dieselbe URL mit einem vorangestellten Schrägstrich auslöst, und da es ein Umschreiben gab, geht die neu umgeschriebene Anforderung erneut durch die Regeln und es wird dieselbe Regel ausgelöst. Indem Sie „$1“ dieser Zeile in „-“ ändern, findet kein Umschreiben statt und der Umschreibungsprozess beginnt nicht erneut mit derselben URL.
Es ist möglich, dass es einen Unterschied gibt, wie Apache 2.2 und 2.4 mit dieser Situation umgehen, dass nur der Unterschied ein Schrägstrich ist, und deshalb funktionieren die von WordPress bereitgestellten Standardregeln nicht perfekt.

anubhava
Sie kommen höchstwahrscheinlich aufgrund dieser Regeln in Schleifen:
RewriteRule ^(.*\.php)$ $1 [L]
RewriteRule ^(wp-(content|admin|includes).*) $1 [L]
Kommentieren Sie es einfach aus und versuchen Sie es erneut in einem neuen Browser.

Tarun Gupta
Gelöst, indem Sie Folgendes hinzufügen:
RewriteCond %{ENV:REDIRECT_STATUS} 200 [OR]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
In unserem Fall hat ein Redakteur einen benutzerdefinierten Beitragstyp und einen benutzerdefinierten Inhaltstyp mit demselben Slug erstellt. Wir haben es behoben, indem wir einen gelöscht und Permalinks neu gespeichert haben [ WordPress › Tools › Settings ].
Hoffe, das hilft jemandem.
10049900cookie-checkApache 2.4 – Die Anfrage hat das Limit von 10 internen Umleitungen aufgrund eines wahrscheinlichen Konfigurationsfehlers überschrittenyes