如何指定htaccess以匹配除index.html之外的所有文件?

时间:2012-08-23 10:42:57

标签: .htaccess

我有以下代码进行身份验证,如果网址不是index.html,则显示身份验证表格

<files "(?!index.html)">
    AuthUserFile  C:/wamp/www/eyedream/trunk/www/.htpasswd
    AuthName "Please login"
    AuthType Basic
    Require valid-user
</files>

如何指定文件是否不是index.html,显示身份验证框?

1 个答案:

答案 0 :(得分:0)

您不能在<Files>块内使用Auth指令,它必须位于<Directory>或.htaccess文件中。您可以设置环境变量并使用Satisfy Any绕过某些请求的身份验证:

SetEnvIfNoCase Request_URI ^/index.html$ norequire_auth=true
SetEnvIfNoCase Request_URI ^/$ norequire_auth=true

# Auth stuff
AuthUserFile C:/wamp/www/eyedream/trunk/www/.htpasswd
AuthName "Please login"
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