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.

Cody Sharp
źródło
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,
1
lub na StackOverflow: Jakieś negatywne skutki przy korzystaniu z Mod-Rewrite?
InChargeOfIT
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.

Lot Sherwin
źródło
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.

danlefree
źródło