Назад | Перейти на главную страницу

Укажите, какие директоры искать файл .htaccess

Я читал, что включение .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>