我有这个.htaccess来保护子域名。
AuthType Basic
AuthUserFile /home/xxx/dev.xxx.com/.htpasswd
AuthName "Dev"
require valid-user
如何从此保护中仅排除一个文件。 然后可以访问此文件而无需密码保护
答案 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分发给未受保护的库而不是受保护的库。