Как удалить .htaccess защиту паролем из подкаталога
У меня есть пароль, защищенный всем моим сайтом, используя .htaccess, но я хотел бы открыть один из подкаталогов, чтобы его можно было просматривать без пароля.
Как отключить защиту htaccess для подкаталога? В частности, что такое синтаксис .htaccess.
Вот мой .htaccess файл, который помещается в корень моего ftp
AuthName "Site Administratrion"
AuthUserFile /dir/.htpasswd
AuthGroupFile /dev/null
AuthName secure
AuthType Basic
require user username1
order allow,deny
allow from all
Ответы
Ответ 1
Вам нужно создать новый файл .htaccess
в требуемом каталоге и включить в него директиву Satisfy any
так:
# allows any user to see this directory
Satisfy Any
Обратите внимание, что синтаксис, измененный в Apache 2.4, должен иметь тот же эффект
Require all granted
Ответ 2
Добавление в ответ RageZ, я использовал это в директивах сервера:
<Directory /var/www/protected/>
AuthType Basic
AuthName "Production"
AuthUserFile /path/to/.htpasswd
Require valid-user
</Directory>
<Directory /var/www/protected/unprotected>
Satisfy Any
</Directory>
Высокий. Спасибо RageZ!
Ответ 3
Просто создайте новый .htaccess
в нужном подкаталоге с этой директивой:
Allow from all
Вы можете ограничить свой IP только с помощью
Allow from x.x.x.x
Смотрите: http://httpd.apache.org/docs/current/mod/mod_access_compat.html
Ответ 4
Вам нужно добавить другой файл .htaccess в подкаталог, который отменяет аутентификацию..htaccess каскады вверх, то есть он будет выглядеть в текущей папке, затем подниматься на уровень и т.д.
Ответ 5
Если вы хотите предотвратить какую-либо конкретную директорию от аутентификации htaccess, вы можете использовать следующий код в вашем файле htaccess вверху.
AuthType Basic AuthName "Enter Pass" AuthUserFile/home/public_html/.htpasswd/*PATH TO YOUR.htpasswd FILE*/Require valid-user SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow Order allow,deny Allow from env=allow
Также, если вы хотите предотвратить несколько каталогов, добавьте
SetEnvIf Request_URI "(/DIRECTORY_NAME/)$" allow
столько раз, сколько каталогов, вы хотите удалить из предотвращения htaccess.
Ответ 6
Вот способ разрешить подкаталогу "foo" через обычную аутентификацию из основного файла.htaccess на сайте:
AuthType Basic
AuthName "Password Required"
AuthUserFile /dir/.htpasswd
Require expr %{REQUEST_URI} =~ m#^/foo/#
Require valid-user
Примечание: это работает в Apache 2.4. Я не подтвердил для более ранних версий.