我在我的虚拟主机中有这个:
<LocationMatch "/pressonly"> AuthType Basic AuthName "Press Only" AuthUserFile /home/pur/.htpasswd Require valid-user </LocationMatch>
它显示login的罚款,但如果我按取消,我仍然得到的页面,我错过了什么/做错了什么?
更新:
我想,经过一些更多的研究,我发现我的Location / LocationMatch必须在执行任何重写之后进行。 所以我的虚拟主机应该是:
RewriteEngine On RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^.*$ - [NC,L] RewriteRule ^.*$ /index.php [NC,L] <Location /pressonly> AuthType Basic AuthName "Press Only" AuthUserFile /home/pur/.htpasswd Require valid-user </Location>
我不应该有一个.htaccess文件。 但是,使用上述不会执行任何重写。
添加命令拒绝,允许声明以及从所有拒绝。 你也需要一个满足指令。 我怀疑你取消authentication后,你的默认允许是踢。
<Location /pressonly> AuthType Basic AuthName "Press Only" AuthUserFile /home/pur/.htpasswd Require valid-user order allow,deny deny from all Satisfy any </Location>
更新:允许和拒绝之间不应有空格。