0

我有一个“虚拟”URL www.abc.com/admin,我想用一个简单的 htpasswd 来保护它。该目录在物理上不存在。页面的其余部分应该可供所有人访问。

我知道真实现有目录的解决方案,并找到了解决方案<FoldersMatch>or<DirectoryMatch>但不幸的是,这不适用于我的虚拟主机。只会<FilesMatch>

还有其他方法可以让它工作吗?

4

1 回答 1

3

您可以使用该Satisfy Any语句来检查请求是否不是针对/admin或是否存在有效用户:

# sets ENV if request is for /admin
SetEnvIf Request_URI ^/admin no_require_auth=true

# Auth stuff
AuthUserFile /var/www/htpasswd
AuthName "Password Protected"
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 "no_require_auth" var is set
Allow from env=no_require_auth
于 2013-04-13T21:12:21.520 回答