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

Можно ли отменить директиву `.htaccess` после ее установки?

Я использую HTML5 шаблон .htaccess, который содержит этот раздел для защиты скрытых файлов и папок:

# Block access to all hidden files and directories with the exception of
# the visible content from within the `/.well-known/` hidden directory.
#
# These types of files usually contain user preferences or the preserved
# state of an utility, and can include rather private places like, for
# example, the `.git` or `.svn` directories.
#
# The `/.well-known/` directory represents the standard (RFC 5785) path
# prefix for "well-known locations" (e.g.: `/.well-known/manifest.json`,
# `/.well-known/keybase.txt`), and therefore, access to its visible
# content should not be blocked.
#
# https://www.mnot.net/blog/2010/04/07/well-known
# https://tools.ietf.org/html/rfc5785

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_URI} "!(^|/)\.well-known/([^./]+./?)+$" [NC]
    RewriteCond %{SCRIPT_FILENAME} -d [OR]
    RewriteCond %{SCRIPT_FILENAME} -f
    RewriteRule "(^|/)\." - [F]
</IfModule>

Я хочу добавить еще одну папку, которую нужно исключить из этого, но в идеале я бы не хотел редактировать код, предоставленный HTML5 Boilerplate.

В конце .htaccess, как я могу добавить директиву, которая отменяет вышеуказанные условия для конкретной папки, например .example?

Поскольку ваш корень .htaccess файл использует mod_rewrite для блокировки доступа, вы можете просто создать другой .htaccess файл в папке, к которой вы хотите разрешить доступ (например, /.example/.htaccess) и включите механизм перезаписи:

RewriteEngine On

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