Может ли .htaccess замедлить работу сайта?

15

Я работаю с клиентом на сайте электронной коммерции. Я реализовал чистые URL с помощью .htaccess. Я также использовал .htaccess для решения канонических проблем, таких как перенаправление www на не-www и удаление index.php из URL.

В последнее время сайт стал сильно тормозить, иногда даже не загружаясь. Сайт размещен на GoDaddy, и когда клиент позвонил GoDaddy, они сказали ему, что это файл .htaccess, замедляющий работу сайта. Я считаю это маловероятным из-за моего прошлого опыта, но я не уверен на 100%. Я думаю, что веб-сайт клиента, скорее всего, находится на общем сервере с оживленным соседством, что замедляет работу сайта. Это не всегда медленно, а скорее спорадично в течение дня, загружается быстро в некоторые моменты и медленно в другие моменты времени.

Может ли файл .htaccess замедлить веб-сайт для сканирования? Если да, то есть ли лучшие способы решить эти проблемы с другими правилами переписывания и тому подобное?

Вот как выглядит настоящий файл .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]

Я начинающий .htaccess и regex, поэтому любые указанные ошибки также помогут.

Коди Шарп
источник
Вы можете быть лучше с ошибкой сервера для этого. Вы проверили, был ли сайт взломан вредоносным ПО?
toomanyairmiles
4
похож на этот вопрос на ServerFault: .htaccess замедляет мой выделенный сервер?
Refineo
это произойдет, но вы вряд ли заметите изменения
Эрик Инь
Когда-то это имело значение, в настоящее время ваше серверное соглашение, вероятно, является нежелательным, если оно имеет.
Fiasco Labs

Ответы:

8

Я полагаю, что технически это немного замедлит работу, поскольку для того, чтобы следовать правилам, сервер должен сначала их обработать. Однако я не думаю, что это замедлит работу сервера и, вероятно, будет не очень заметно.

Я рискнул бы предположить и сказать, что это вызвано общим хостингом в GoDaddy. Раньше у меня был хостинг с ними, и я обнаружил, что они иногда тоже очень медленные. Тот факт, что в разы быстрее, а в других медленнее, говорит об этом.

Шервин Рейс
источник
8

Может ли файл .htaccess замедлить веб-сайт для сканирования? Если да, то есть ли лучшие способы решить эти проблемы с другими правилами переписывания и тому подобное?

AllowOverride all влияет на производительность сервера, так как Apache должен проверять файлы .htaccess и анализировать директивы с каждым запросом - если это возможно, сохраняйте все директивы в конфигурации VirtualHost для своего сайта или включайте переопределения .htaccess только для каталогов, которые в них нуждаются.

- Все, что вы когда-либо хотели знать о правилах Mod_Rewrite, но боялись спросить

Вероятно, у вас не будет доступа к конфигурации VirtualHost для вашей учетной записи общего хостинга GoDaddy, и, учитывая, что на одном и том же сервере, вероятно, есть сотни или тысячи других сайтов (и вы заметили, что производительность колеблется ), это не просто проблема с вашим сценарии или правила.

danlefree
источник