Рекомендация от проекта Apache является:
Как правило, файлы .htaccess следует использовать только в том случае, если у вас нет доступа к главному файлу конфигурации сервера. ... распространенным заблуждением является то, что директивы аутентификации пользователя и mod_rewrite должны идти в .htaccessфайлах.
Поэтому, пожалуйста, установите AllowOverride Noneи все остальные ваши директивы в основном httpd.conf (и / или в ваших подразделах Include)
Когда Apache не настроен с AllowOverride Noneвами уже происходит (незначительное) снижение производительности, независимо от того, используются ли .htaccessфайлы или нет .
Это связано с тем, что для каждого запроса apache необходимо будет проверять наличие потенциального .htaccessфайла в каждом (под) каталоге, ведущем к запрашиваемому ресурсу. Например, когда файл запрашивается из каталога / www / htdocs / example, apache должен искать следующие файлы:
/.htaccess
/www/.htaccess
/www/htdocs/.htaccess
/www/htdocs/example/.htaccess
И так, для каждого доступа к файлу из этого каталога, есть 4 дополнительных доступа к файловой системе, даже если ни один из этих файлов отсутствует. (Если AllowOveride установлен для /)
Системный вызов, используемый для этого ( man 2 stat), сам по себе не так уж и дорог, и обычно кеш файловой системы используется вместо опроса реального диска, ограничивая фактические требования к вводу-выводу, но все же он может складываться, как утверждается в этой статье .
Когда один или несколько фактических .htaccessфайлов фактически присутствуют, apache все еще должен openи прочитать его (вызывая другую операцию чтения ввода-вывода и обычно также операцию записи ввода-вывода для обновления atimeатрибута файловой системы ) и проанализировать его, прежде чем можно будет применить логику в нем.
В отличие от того, когда ваши директивы находятся в главном httpd.conf, который требует только apache для их анализа один раз, при запуске каждый .htaccessфайл должен интерпретироваться снова для каждого запроса.
Насколько дорог, в дополнение к операциям ввода-вывода, анализ файлов .htaccess зависит от их сложности.
Это займет тщательный сравнительный анализ, чтобы определить.