Apache - 如何将auth用于.htaccess文件中的特定位置?

时间:2013-04-13 19:16:26

标签: apache .htaccess authentication

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

我知道现有目录的解决方案,并找到<FoldersMatch><DirectoryMatch>的解决方案,但不幸的是,这不适用于我的webhoster。只有<FilesMatch>可以。

还有其他办法让它发挥作用吗?

1 个答案:

答案 0 :(得分: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