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

Как я могу установить для AccessFileName абсолютный путь?

Я знаю в VirtualHost определение, которое я могу иметь:

    AccessFileName .myfilename

Однако apache этого не позволяет:

    AccessFileName /absolute/location/of/.myfilename

Есть ли какое-то обходное решение? Я хочу иметь один каталог, который используется на нескольких сайтах, но я хотел бы иметь разные .htaccess файлы с правилами для каждого сайта.

Я знаю, что могу установить правила в VirtualHost определение, но это требует перезапуска / перезагрузки apache каждый раз, когда я вношу изменения.

Я понимаю, что у меня могут быть разные имена файлов для каждого сайта, но я старался не загромождать каталог.

Есть хороший способ сделать это?

Нет абсолютных путей, так как файл доступа всегда проверяется в родительских путях.

Пример, приведенный в документация:

AccessFileName .acl

перед возвратом документа /usr/local/web/index.html сервер прочитает /.acl, /usr/.acl, /usr/local/.acl и /usr/local/web/.acl для директив, если только они были инвалидами с AllowOverride None

Вы хотите, чтобы они создавались для каждого сайта - если сайты не имеют общей структуры каталогов, вы можете просто поместить их в путь каждого сайта. Но я бы рекомендовал просто перезагрузить, когда конфигурация изменится.

Бессмертными словами Документация Apache: "В общем, вы никогда не должны использовать файлы .htaccess, если у вас нет доступа к основному файлу конфигурации сервера."