我的.htaccess文件的一部分看起来像这样 -
AuthUserFile /path/to/.htpasswd
AuthName "Authorization Required"
AuthType Basic
require valid-user
这样做需要对整个目录及其下面的目录进行基本HTTP身份验证。但是,我在该根目录thubservice.php中有一个文件,它不应该要求HTTP身份验证。
从我所看到的,我需要使用< FilesMatch />,但我无法弄清楚除了给定文件之外的所有模式。
答案 0 :(得分:33)
AuthUserFile /path/to/.htpasswd
AuthName "Authorization Required"
AuthType Basic
require valid-user
<Files "thubservice.php">
Satisfy Any
Allow from all
</Files>
答案 1 :(得分:1)
对于Apache 2.4,您可能想改用Require:
<Files "thubservice.php">
Require all granted
</Files>
在2.2中,使用指令Order,Allow,Deny和Satisfy完成了基于客户机主机名,IP地址和客户机请求其他特征的访问控制。
在2.4中,使用新模块mod_authz_host以与其他授权检查相同的方式完成这种访问控制。尽管为了与旧配置兼容,提供了新模块mod_access_compat,但仍应使用新的身份验证机制替换旧的访问控制习惯用法。