Я хочу знать, имеет ли размер файла .htaccess
иметь значение? Я где-то читал, что большой .htaccess
файл может замедлить работу сайта.
Мой .htaccess
размер файла 51KB
и он содержит около 500 lines
которые в основном RewriteCond %{HTTP_REFERER}
правила для блокировки сайтов, ссылающихся на спам.
Но я не заметил задержек загрузки сайта или проблем с производительностью.
Если я конвертирую те 500 RewriteCond %{HTTP_REFERER}
на 20 строк, каждая из которых содержит 25 доменных имен рефереров спама в группах, использующих ()
и |
символы, это что-нибудь изменит?
Например, преобразовать следующие строки:
RewriteCond %{HTTP_REFERER} hol\.es [NC,OR]
RewriteCond %{HTTP_REFERER} hys\.cz [NC,OR]
RewriteCond %{HTTP_REFERER} zzz\.com\.ua [NC,OR]
RewriteCond %{HTTP_REFERER} hypersito\.com [NC,OR]
RewriteCond %{HTTP_REFERER} tode\.cz [NC,OR]
RewriteCond %{HTTP_REFERER} mzf\.cz [NC,OR]
в следующие:
RewriteCond %{HTTP_REFERER} (hol\.es|hys\.cz|zzz\.com\.ua|hypersito\.com|tode\.cz|mzf\.cz) [NC,OR]
Уменьшит ли это загрузку ЦП и вызовет меньше циклов ЦП? Или он останется таким же, как 500 отдельных строк?
При таком большом количестве правил вам действительно стоит совет из документации Apache к сердцу
Вам следует избегать использования
.htaccess
файлы полностью, если у вас есть доступ к файлу конфигурации главного сервера httpd. С помощью.htaccess
files замедляет работу вашего HTTP-сервера Apache. Любая директива, которую вы можете включить в.htaccess
файл лучше установить в блоке каталога, так как он будет иметь тот же эффект с лучшей производительностью.
.htaccess
файлы имеют два основных фактора, влияющих на производительность:
.htaccess
файл должен оцениваться для каждого отдельного запроса, в то время как включение этих правил в обычный файл конфигурации означает, что они оцениваются один раз при запуске Apache (или перезагрузке). Итак, вам будет гораздо лучше поместить эти правила в свой основной файл конфигурации.
Но я не заметил задержек загрузки веб-сайтов или проблем с производительностью.
Конечно, эти соображения производительности актуальны только в том случае, если вы получаете более высокую рабочую нагрузку. Для простаивающего сервера это не очень актуально, но если нагрузка станет высокой, это начнет оказывать реальное влияние.