Hallo,
zur suchmaschinenfreundlichen Linkgestaltung setze ich im Rootverzeichnis ein .htaccess mit folgendem Inhalt ein:
Nicht vorhandene URLs sollen damit an die index.php im Rootverzeichnis übergeben werden. Das klappt auch auf meinem lokalen Apache-Server auf dem Laptop hervorragend.Code:RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_FILENAME} !-f RewriteRule ^(.*)$ index.php [QSA,L]
Wenn ich das Ganze hochlade, schnellt jedoch bereits nach kurzer Zeit Server-Load und CPU-Auslastung in die Höhe und die Seite wird online unbenutzbar (Error 500). Lösche ich die .htaccess, funktioniert alles wieder wunderbar. Das hört sich für mich verdächtig nach Endlosschleife an, ich frag mir nur, wo.
Noch zur Info, auf dem Online-Server befindet sich parallel dazu noch die alte Version der Homepage, die noch ein paar Tage bis zur endgültigen Umstellung drauf bleiben soll. Im Root-Verzeichnis befindet sich daher von der alten Seite noch eine index.html, die eine Weiterleitung in ein Unterverzeichnis enthält, wo sich die eigentliche Seite (in Flash befindet).
Ich hätte gedacht, dass sich beide Seiten nicht in die Quere kommen. Hat jemand eine Idee, woher die außergewöhnlich hohe Belastung bei Einsatz der .htaccess kommen könnte?
- Hal.
Ja, wieso nicht einfach ErrorDocument 404??? Das habe ich mich gerade auch gefragt.
Habe es sofort frohen Mutes ausprobiert (denn wo soll da noch was mit Endlosschleife sein?). Erstaunlicherweise ist das Ergebnis ungefähr dasselbe. Die CPU-Auslastung schnellt im selben Moment auf über 80% (die einzig und allein von der index.php in Anspruch genommen werden), Load steigt genauso an.
Interessanterweise läuft die Seite aber ansonsten ohne Zicken. Naja, es gibt ja auch bisher nur einen Benutzer darauf. Das würde sich wahrscheinlich schnell ändern, wenn erst die üblichen 3-5k Besucher täglich da sind.
Die URL verwende ich zur Bestimmung von Kategorien und Unterkategorien, wo dann das entsprechende Include-File (nach vorheriger Gültigkeitsprüfung) eingebunden wird.
- Hal.
EDIT:
"Ohne Zicken" war etwas voreilig. Das Problem ist das gleiche.
Geändert von Hal (07.05.2009 um 14:25 Uhr)
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)