Kann .htaccess eine Site verlangsamen?


15

Ich arbeite mit einem Kunden auf einer E-Commerce-Website. Ich habe saubere URLs mit .htaccess implementiert. Ich habe auch .htaccess verwendet, um kanonische Probleme zu lösen, z. B. das Umleiten von www zu nicht www und das Entfernen von index.php aus der URL.

Die Website verlangsamte sich in letzter Zeit dramatisch und wurde manchmal nicht einmal geladen. Die Site wird auf GoDaddy gehostet, und als der Client GoDaddy anrief, wurde ihm mitgeteilt, dass es sich um die .htaccess-Datei handelt, die die Website verlangsamt. Aufgrund meiner Erfahrungen in der Vergangenheit ist dies höchst unwahrscheinlich, aber ich bin mir nicht zu 100% sicher. Meiner Meinung nach befindet sich die Website des Kunden höchstwahrscheinlich auf einem gemeinsam genutzten Server mit einer geschäftigen Umgebung, wodurch die Website verlangsamt wird. Es ist nicht immer langsam, sondern sporadisch im Laufe des Tages und wird an einigen Stellen schnell und an anderen Stellen langsam geladen.

Kann die .htaccess-Datei eine Website auf einen Crawl verlangsamen? Wenn ja, gibt es bessere Möglichkeiten, diese Probleme mit verschiedenen Umschreiberegeln und dergleichen zu lösen?

So sieht die eigentliche .htaccess-Datei aus:

    Options +FollowSymlinks
    RewriteEngine   On
    RewriteBase /
    RewriteCond %{HTTP_HOST} ^www.example.net [NC]
    RewriteRule ^(.*)$ http://example.net/$1 [L,R=301]
    RewriteRule ^products/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php p=product&product_code=$1 [L]
    RewriteRule ^catalog/([0-9a-zA-Z\_\-]*)\.htm([l]?)$ index.php p=catalog&catalog_code=$1 [L]
    RewriteRule ^pages/([0-9a-zA-Z\_\-]*)\.htm([l]?)$   index.php?p=page&page_id=$1 [L]
    RewriteRule ^index\.htm([l]?)$  index.php?p=home [L]
    RewriteRule ^site_map\.htm([l]?)$   index.php?p=site_map [L]
    RewriteCond      %{QUERY_STRING}    ^p=home$
    RewriteRule      (.*)               ?     [R=permanent]

Ich bin ein Anfänger im Bereich .htaccess und Regex, daher helfen auch alle aufgezeigten Fehler.


Mit Serverfehlern könnten Sie besser dran sein. Haben Sie überprüft, ob die Website von Malware infiziert wurde?
Toomanyairmiles

4
ähnlich dieser Frage bei ServerFault: Verlangsamt .htaccess meinen dedizierten Server?
Refineo


es wird, aber Sie werden kaum die Änderungen bemerken
Eric Yin

Früher war es wichtig, dass Ihre Serververeinbarung in der heutigen Zeit wahrscheinlich nicht mehr funktioniert.
Fiasco Labs

Antworten:


8

Ich denke, technisch würde es ein bisschen langsamer werden, da der Server sie zuerst verarbeiten muss, um die Regeln zu befolgen. Ich glaube jedoch nicht, dass dies den Server zu einem Crawl verlangsamen würde und wahrscheinlich überhaupt nicht sehr auffällig wäre.

Ich würde eine Vermutung wagen und sagen, dass es durch das gemeinsame Hosting bei GoDaddy verursacht wird. Ich hatte vorher Hosting mit ihnen und fand sie manchmal auch sehr langsam. Die Tatsache, dass es manchmal schneller und bei anderen langsamer ist, legt dies ebenfalls nahe.


8

Kann die .htaccess-Datei eine Website auf einen Crawl verlangsamen? Wenn ja, gibt es bessere Möglichkeiten, diese Probleme mit verschiedenen Umschreiberegeln und dergleichen zu lösen?

AllowOverride alle Auswirkungen auf die Serverleistung, da Apache bei jeder Anforderung nach .htaccess-Dateien suchen und Anweisungen analysieren muss. Behalten Sie nach Möglichkeit alle Anweisungen in der VirtualHost-Konfiguration für Ihre Site bei oder aktivieren Sie .htaccess-Überschreibungen nur für die Verzeichnisse, die sie benötigen.

- Alles, was Sie schon immer über Mod_Rewrite-Regeln wissen wollten, aber keine Angst hatten zu fragen

Sie werden wahrscheinlich keinen Zugriff auf die VirtualHost-Konfiguration für Ihr GoDaddy-Shared-Hosting-Konto haben. Da sich wahrscheinlich Hunderte oder Tausende anderer Websites auf demselben Server befinden (und Sie festgestellt haben, dass die Leistung schwankt ), liegt dies nicht nur an Ihrem Skripte oder Regeln.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.