Я читал, что включение .htaccess для всех каталогов приводит к снижению производительности, потому что все подпапки также сканируются на наличие файлов .htaccess.
Я бы хотел, чтобы файл .htaccess читался только в: /var/www/xgclan.com/public_html и /var/www/xgclan.com/public_html/forum
Я настроил следующее в моем apache2.conf (для /var/www/xgclan.com/public_html)
<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
</Directory>
<Directory /usr/share>
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/xgclan.com/public_html>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Но это, похоже, не работает .. подкаталоги также читаются для файлов .htaccess
Следует упомянуть, что xgclan.com - это виртуальный хост. Что я делаю не так?
Мне удалось предотвратить проверку подкаталогов на наличие файлов .htaccess с помощью:
<Directory /var/www/xgclan.com/public_html/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
Но это также заблокировало файл .htaccess в /var/www/xgclan.com/public_html/forum. Поэтому я попытался добавить следующее правило, чтобы разрешить этот конкретный каталог:
<Directory /var/www/xgclan.com/public_html/forum>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Но, похоже, это не работает.
Вы пробовали добавить раздел Directory с объявлением VirtualHost?
Что вы выводите error_log при доступе к хосту в браузере? Вы получаете какую-либо ошибку, как указано в документах apache?
Итак, если вы хотите, чтобы apache сканировал только две определенные папки из всего каталога virtualhost на предмет файлов .htaccess, вы должны указать, какие из них вы хотите запретить и разрешить, например:
<Directory /var/www/xgclan.com/public_html>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>
<Directory /var/www/xgclan.com/public_html/*/>
Options FollowSymLinks
AllowOverride None
Require all granted
</Directory>
<Directory /var/www/xgclan.com/public_html/forum>
Options FollowSymLinks
AllowOverride All
Require all granted
</Directory>