2

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

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

如何仅将一个文件排除在此保护之外。那么这个文件可以在没有密码保护的情况下访问

4

2 回答 2

2

您可以使用 aSatisfy Any和一个 special来执行此操作,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 部分检查它以允许它通过而不需要密码。

于 2012-09-13T16:22:32.063 回答
0

您可以在受密码保护的目录之外创建一个新目录,并创建一个指向您希望不受保护的文件的符号链接,并将 URL 分发到不受保护的库而不是受保护的库。

于 2012-09-13T16:21:29.303 回答