我目前拒绝访问除该文件外的所有子目录和文件 /var/www/subdir/file.php
<Directory /var/www/*>
Allow from None
Order allow,deny
</Directory>
<Location /subdir/file.php>
Order allow,deny
allow from all
</Location>
我怎样才能保护这个文件htpasswd
?我尝试了以下语法,但没有用:
<Directory /var/www/*>
Allow from None
Order allow,deny
</Directory>
<Location /subdir/file.php>
Order allow,deny
allow from all
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /var/www/private_html/passwords/allowed-users
Require user me
</Location>
编辑
这是我的整个httpd.conf
文件
<Directory /var/www/public_html/*>
Allow from None
Order allow,deny
</Directory>
<Location /hello1.php>
AuthType Basic
AuthName "Restricted Access"
AuthUserFile /var/www/private_html/passwords/allowed-users
Require user me
SetEnvIf Request_URI "(/hello1.php)$" allow
Order allow,deny
Allow from env=allow
Satisfy any
</Location>
除相关文件外,您将被禁止访问所有内容。但是当您尝试访问 protected.html 或您想要的任何名称时,它会给您一个基本的身份验证对话框。
您可以将以上内容放入您的 .htaccess 文件中
尝试通过 IP 地址拒绝访问。这应该可以解决
satisfy any
,但不允许使用satisfy all
.或者尝试使用 satisfy any 来要求来自不受信任地址的密码。
检查您的错误日志,看看那里是否记录了任何内容。在一些指令错误的情况下,我在那里找到了解决方案。