Рекомендація від проекту 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та читання (запускаючи ще одну операцію зчитування IO, а також зазвичай операцію запису IO для оновлення atimeатрибуту файлової системи ) та аналізує її до того, як логіка в ній може бути застосована.
На відміну від того, коли ваші директиви знаходяться в основному httpd.conf, для чого потрібно лише apache, щоб розібрати їх один раз, при запуску кожен .htaccessфайл потрібно інтерпретувати знову для кожного запиту.
Наскільки дорого, крім операцій вводу-виводу, розбирати файли .htaccess, залежить від їх складності.
Це потребує ретельного бенчмаркінгу для визначення.