2015-04-23 66 views
1

我试图在网站根目录(public_html)中使用HTTP身份验证,它具有RewriteCondRewriteRule。当我访问网站时,它给了我提示,但是当我取消时,它几次再次提示我。最后,它停止提示,并为我提供链接资源的主页HTML,即图像,JS,CSS等不可用。如何在htaccess HTTP Auth失败时停止处理

我有一种感觉,HTTP身份验证失败并未导致htaccess脚本停止进一步处理,因此RewriteRule仍然生成内容。我如何告诉htaccess“在auth失败时停止进一步处理”?

# manually added 
Options +FollowSymLinks 
RewriteEngine on 

# Added by cpanel password protect directory 
AuthUserFile "/home/username/.htpasswds/public_html/passwd" 
AuthType Basic 
AuthName "Stage" 
require valid-user 

# Manually added 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L] 

回答

0

我认为你需要在你重写一个额外RewriteCond,如果你有一个有效的用户只能继续进行。例如:

RewriteCond %{LA-U:REMOTE_USER} !^$ 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule . index.php [L]