从受密码保护的子域中排除一个文件

时间:2012-09-13 09:59:17

标签: .htaccess

我有这个.htaccess来保护子域名。

AuthType Basic
AuthUserFile /home/xxx/dev.xxx.com/.htpasswd
AuthName "Dev"
require valid-user

如何从此保护中仅排除一个文件。 然后可以访问此文件而无需密码保护

2 个答案:

答案 0 :(得分:1)

您可以使用Satisfy Any和特殊Allow执行此操作,无需密码检查即可通过某些请求。所以在你的htaccess文件中:

SetEnvIf Request_URI ^/protected-dir/no_protect_file.php norequire_auth=true

# Auth stuff
AuthUserFile /home/xxx/dev.xxx.com/.htpasswd
AuthName "Dev"
AuthType Basic

# Setup a deny/allow
Order Deny,Allow
# Deny from everyone
Deny from all
# except if either of these are satisfied
Satisfy any
# 1. a valid authenticated user
Require valid-user
# or 2. the "require_auth" var is NOT set
Allow from env=norequire_auth

如果对http://your.domain.com/protected-dir/no_protect_file.php发出请求,则会设置SetEnvIf个匹配项和norequire_auth环境变量。 auth部分检查它是否允许它通过而不需要密码。

答案 1 :(得分:0)

您可以在受密码保护的目录之外创建一个新目录,并为您想要不受保护的文件创建一个符号链接,并将该URL分发给未受保护的库而不是受保护的库。