Seite 1 von 1
.htaccess produziert ungewollte Schleifen
Verfasst: 17.01.2011, 15:27
von Jackwhite
Hallo,
nach dem Umzug einer relativ stark frequentierten Site (basiert auf Wordpress) kommt es im error.log ständig zu folgenden Einträgen.
Code: Alles auswählen
[error] [client ip] 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., referer: http://www.domain.de/
Angeblich ist dies ja auf die .htaccess zurückzuführen. Diese sieht wie folgt aus:
Code: Alles auswählen
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# Expire headers 5184000 Sekunden = 2 Monate
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/x-icon "access plus 5184000 seconds"
ExpiresByType image/gif "access plus 5184000 seconds"
ExpiresByType image/jpg "access plus 5184000 seconds"
ExpiresByType image/png "access plus 5184000 seconds"
ExpiresByType text/css "access plus 5184000 seconds"
ExpiresByType text/javascript "access plus 5184000 seconds"
ExpiresByType application/javascript "access plus 5184000 seconds"
ExpiresByType application/x-javascript "access plus 5184000 seconds"
</IfModule>
# BEGIN Cache-Control Headers
<ifmodule mod_headers.c>
<filesmatch "\\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=5184000, public"
</filesmatch>
<filesmatch "\\.(css)$">
Header set Cache-Control "max-age=5184000, private"
</filesmatch>
<filesmatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</filesmatch>
</ifmodule>
Ach so, die Module "expires" und "headers" wurden natürlich per "a2enmod" im Apache2 aktiviert und auch ein Restart des Apachen ist erfolgt.
Grüße
Verfasst:
von
SEO Consulting bei
ABAKUS Internet Marketing Erfahrung seit 2002
- persönliche Betreuung
- individuelle Beratung
- kompetente Umsetzung
Jetzt anfragen:
0511 / 300325-0.
Verfasst: 17.01.2011, 23:00
von Jackwhite
Wirklich niemand eine Ahnung? Habe jetzt mal das LogLevel auf "debug" gestellt. Die Einträge im Error.log sehen nun wie folgt aus:
Code: Alles auswählen
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()
[Mon Jan 17 22:53:36 2011] [debug] mod_headers.c(740): headers: ap_headers_output_filter()

Verfasst: 18.01.2011, 11:37
von Jackwhite
So, also habe ich Recht mit meiner Annahme, dass keine .htaccess-Experten zugegen sind? Das Problem scheint ja echt einzigartig zu sein, wenn es selbst bei Google keine nützliche Lösung gibt. Hmm
Verfasst: 18.01.2011, 11:47
von Synonym
Das hat nichts mit "Experte" zu tun, denn das einzige was in Frage kommen würde ist das hier:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Und das macht die Probleme nicht, da da keine Weiterleitung vorhanden ist, weder extern noch intern. Es sei denn, Du leitest die index.php irgendwie nochmal per Script weiter.
Also wird es wohl an Wordpress liegen oder einem Plugin.... Ohne die URL und die Seite, bei der Fehler auftritt kann man aber eh nur raten.
Und, die Debug-Meldungen sollten vom mod_rewrite sein, wenn der Fehler auftritt. Das von mod_headers ist nett zu lesen, bringt aber nichts.
Verfasst: 18.01.2011, 14:16
von Jackwhite
Synonym hat geschrieben:Das hat nichts mit "Experte" zu tun, denn das einzige was in Frage kommen würde ist das hier:
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Und das macht die Probleme nicht, da da keine Weiterleitung vorhanden ist, weder extern noch intern. Es sei denn, Du leitest die index.php irgendwie nochmal per Script weiter.
Also wird es wohl an Wordpress liegen oder einem Plugin.... Ohne die URL und die Seite, bei der Fehler auftritt kann man aber eh nur raten.
Und, die Debug-Meldungen sollten vom mod_rewrite sein, wenn der Fehler auftritt. Das von mod_headers ist nett zu lesen, bringt aber nichts.
Bei den anderen Blogs kommt das nicht vor. Die Probleme gibt es wohl erst, seitdem ich sämtliche von Googles Pagespeed empfohlenen Dinge umgesetzt habe. So werden Bilder, CSS-Dateien, etc. von einer anderen Domain geladen. Die Struktur ist so:
Bilder, CSS, etc. von
domainimg.de
Die Website selbst von
domain.de
einige js-dateien, etc. von
misc.domainimg.de
Laut Pagespeed 100% optimiert. Von dort kommen auf die Empfehlungen mit dem mod_headers und mod_expires
Ob es damit zusammenhängt?
Verfasst: 18.01.2011, 14:57
von Synonym
Laut Pagespeed 100% optimiert. Von dort kommen auf die Empfehlungen mit dem mod_headers und mod_expires
Ob es damit zusammenhängt?
Wenn Du damit headers und expires meinst, dann wohl eher nicht.
Wie gesagt, ohne URL wo das genau auftritt, das steht nämlich auch im Log dabei, ist das nur ein Ratespiel.
Beispiel:
Datei-Reqeust -> Datei gibt es nicht -> htaccess greift -> index aufrufen -> Theme bindet Datei wieder ein -> gibt es nicht -> htaccess greift -> -> -> ->
oder fehlerhafte ErrorDocuments, die auf Dateien verweisen, die es nicht gibt.
oder oder oder
Das waren nur zwei Beispiele, da gibt es viele...
Verfasst: 18.01.2011, 17:57
von Jackwhite
Also ich habe das LogLevel auf Debug gestellt und es wird lediglich die Root, also
https://www.domain.de/ "bemängelt". Deswegen bin ich ja so ratlos.