HTTP Basic Auth排除单个文件

时间:2010-10-05 15:48:33

标签: regex authentication .htaccess

我的.htaccess文件的一部分看起来像这样 -

AuthUserFile /path/to/.htpasswd
AuthName "Authorization Required"
AuthType Basic
require valid-user

这样做需要对整个目录及其下面的目录进行基本HTTP身份验证。但是,我在该根目录thubservice.php中有一个文件,它不应该要求HTTP身份验证。

从我所看到的,我需要使用< FilesMatch />,但我无法弄清楚除了给定文件之外的所有模式。

2 个答案:

答案 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,但仍应使用新的身份验证机制替换旧的访问控制习惯用法。