2015-01-09 4 views
0

Я включил аутентификацию htpasswd для своего веб-сайта, поэтому для веб-сайта требуется имя пользователя/пароль для доступа. Теперь мне нужно разрешить один URL-адрес без аутентификации, когда я использую директиву «Удовлетворить любую» внутри виртуального хоста, аутентификация не выполняется для всего веб-сайта. Моя конфигурация ниже,htacess «Satisfy Any» не работает

<Directory “/home/website/docroot”> 
SetEnvIf Request_URI “^/source/notification/notify$” NOPASSWD=true 
Order allow,deny 
Allow from all 
AuthType Basic 
AuthName “Restricted Access” 
AuthBasicProvider file 
AuthUserFile /etc/httpd/htpassword 
Require valid-user 
AllowOverride all 
Allow from env=NOPASSWD 
Satisfy any 
</Directory> 

Что-то не так с моей конфигурацией? Может ли кто-нибудь помочь мне исправить эту проблему.

+1

Первое, что я заметил в вашем коде, это неправильное использование кавычек. Вы использовали типографские кавычки, чтобы процитировать «Ограниченный доступ» - но обычно эти символы вообще не цитируют, когда речь идет о программном обеспечении. – ThiefMaster

ответ

0

У вас есть Allow from all в вашем блоке. Удовлетворить любой - либо. Это означает, что все требования выполнены. Попробуйте это и посмотрите, как это работает.

<Directory "/home/website/docroot"> 
SetEnvIf Request_URI "^/source/notification/notify$" NOPASSWD 
AuthType Basic 
AuthName "Restricted Access" 
AuthUserFile /etc/httpd/htpassword 
Require valid-user 

Order deny,allow 
Deny from all 
Allow from env=NOPASSWD 
Satisfy any 
AllowOverride all 
</Directory> 
+0

Спасибо. Я попытался с вышеуказанной конфигурацией, но его пароль для доступа к веб-сайту и исключение не происходит. – Chidhambaram

+1

Я обновил ответ. Попробуйте и посмотрите, работает ли это для вас. –

Смежные вопросы