Czy .htaccess może spowolnić witrynę?


15

Pracuję z klientem na stronie e-commerce. Zaimplementowałem czyste adresy URL za pomocą .htaccess. Użyłem również .htaccess do rozwiązania problemów kanonicznych, takich jak przekierowanie www na inne niż www i usunięcie index.php z adresu URL.

Witryna ostatnio zaczęła gwałtownie zwalniać, czasem nawet się nie ładuje. Witryna jest hostowana na GoDaddy, a kiedy klient o nazwie GoDaddy powiedział mu, że to plik .htaccess spowalnia stronę. Uważam to za bardzo mało prawdopodobne z powodu moich przeszłych doświadczeń, ale nie jestem w 100% pewien. Myślę, że witryna klienta jest najprawdopodobniej na wspólnym serwerze z ruchliwą okolicą, co spowalnia witrynę. Nie zawsze jest to powolne, ale raczej sporadyczne w ciągu dnia, w niektórych punktach ładuje się szybko, aw innych punktach spowalnia.

Czy plik .htaccess może spowolnić indeksowanie witryny? Jeśli tak, czy są lepsze sposoby rozwiązania tych problemów za pomocą różnych reguł przepisywania i tym podobnych?

Oto, jak wygląda rzeczywisty plik .htaccess:

    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]

Jestem nowicjuszem .htaccess i regex, więc wszelkie wskazane błędy również by pomogły.


Lepiej być może z powodu błędu serwera dla tego. Czy sprawdziłeś, czy witryna została naruszona przez złośliwe oprogramowanie?
toomanyairmiles,

4
podobne do tego pytania na ServerFault: Czy .htaccess spowalnia mój serwer dedykowany?
Refineo,


tak, ale prawie nie zauważysz zmian
Eric Yin

Kiedyś miało to znaczenie, obecnie umowa serwera jest prawdopodobnie śmieciowa, jeśli tak się stanie.
Fiasco Labs,

Odpowiedzi:


8

Myślę, że technicznie spowolniłoby to trochę, ponieważ aby przestrzegać zasad, serwer musiałby je najpierw przetworzyć. Jednak nie sądzę, aby spowolnił serwer i prawdopodobnie nie byłby w ogóle bardzo zauważalny.

Zaryzykuję i zgadnę, że przyczyną jest dzielony hosting w GoDaddy. Wcześniej miałem u nich hosting i czasami też działały bardzo wolno. Sugeruje to również fakt, że czasami jest szybszy, a wolniejszy u innych.


8

Czy plik .htaccess może spowolnić indeksowanie witryny? Jeśli tak, czy są lepsze sposoby rozwiązania tych problemów za pomocą różnych reguł przepisywania i tym podobnych?

AllowOverride wpływa na wydajność serwera, ponieważ Apache musi sprawdzać pliki .htaccess i analizować dyrektywy przy każdym żądaniu - jeśli to możliwe, zachowaj wszystkie dyrektywy w konfiguracji VirtualHost dla swojej witryny lub włącz zastępowanie .htaccess tylko dla katalogów, które ich potrzebują.

- Wszystko, co kiedykolwiek chciałeś wiedzieć o zasadach Mod_Rewrite, ale bałeś się zapytać

Prawdopodobnie nie będziesz mieć dostępu do konfiguracji VirtualHost dla swojego współdzielonego konta hostingowego GoDaddy, a biorąc pod uwagę, że na tym samym serwerze są prawdopodobnie setki lub tysiące innych witryn (i zauważyłeś, że wydajność się zmienia ), nie jest to tylko problem z twoim skrypty lub reguły.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.