Le .htaccess peut-il ralentir un site?

15

Je travaille avec un client sur un site e-commerce. J'ai implémenté des URL propres en utilisant .htaccess. J'ai également utilisé .htaccess pour résoudre des problèmes canoniques tels que la redirection de www vers non-www et la suppression de index.php de l'URL.

Le site Web a récemment commencé à ralentir considérablement, parfois même à ne pas se charger. Le site est hébergé sur GoDaddy, et lorsque le client a appelé GoDaddy, ils lui ont dit que c'était le fichier .htaccess qui ralentissait le site. Je trouve cela très improbable à cause de mes expériences passées, mais je ne suis pas sûr à 100%. Je pense que le site Web du client est très probablement sur un serveur partagé avec un quartier occupé, ralentissant ainsi le site. Ce n'est pas toujours lent, mais plutôt sporadique tout au long de la journée, se chargeant rapidement à certains moments et lent à d'autres moments.

Le fichier .htaccess peut-il ralentir un site Web vers une exploration? Si oui, existe-t-il de meilleures façons de résoudre ces problèmes avec différentes règles de réécriture et autres?

Voici à quoi ressemble le fichier .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]

Je suis un novice .htaccess et regex, donc toute erreur signalée serait également utile.

Cody Sharp
la source
Vous pouvez être mieux avec une panne de serveur pour celui-ci. Avez-vous vérifié si le site a été compromis par des logiciels malveillants?
toomanyairmiles
4
similaire à cette question sur ServerFault: .htaccess ralentit-il mon serveur dédié?
Refino
ce sera le cas, mais vous remarquerez à peine les changements
Eric Yin
À une époque, cela comptait, de nos jours, votre accord de serveur est probablement indésirable s'il le fait.
Fiasco Labs

Réponses:

8

Je suppose que techniquement, cela ralentirait un peu, car pour suivre les règles, le serveur devrait d'abord les traiter. Cependant, je ne pense pas que cela ralentirait le serveur à une analyse et ne serait probablement pas très visible du tout.

Je risquerais une supposition et dirais que cela est causé par l'hébergement partagé chez GoDaddy. J'avais auparavant hébergé avec eux et je les ai trouvés parfois très lents. Le fait qu'il soit parfois plus rapide et plus lent à d'autres, le suggère également.

Vol Sherwin
la source
8

Le fichier .htaccess peut-il ralentir un site Web vers une exploration? Si oui, existe-t-il de meilleures façons de résoudre ces problèmes avec différentes règles de réécriture et autres?

AllowOverride tous les impacts sur les performances du serveur car Apache doit vérifier les fichiers .htaccess et analyser les directives à chaque demande - si possible, conservez toutes les directives dans la configuration VirtualHost pour votre site ou activez les substitutions .htaccess uniquement pour les répertoires qui en ont besoin.

- Tout ce que vous avez toujours voulu savoir sur les règles Mod_Rewrite mais avez eu peur de demander

Vous n'aurez probablement pas accès à la configuration VirtualHost pour votre compte d'hébergement partagé GoDaddy et, étant donné qu'il y a probablement des centaines ou des milliers d'autres sites sur le même serveur (et vous avez observé que les performances fluctuent ), ce n'est pas seulement un problème avec votre scripts ou règles.

danlefree
la source