我正在尝试在具有public_html
和RewriteCond
的网站根目录RewriteRule
)中使用HTTP身份验证。当我访问网站时,它会给我提示,但是当我取消时,它会再次提示我几次。最后,它停止提示并给我带有链接资源的主页HTML,即图像,JS,CSS等不可用。
我感觉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 :(得分:0)
我认为您的重写需要额外RewriteCond
,只有拥有有效用户才能继续。例如:
RewriteCond %{LA-U:REMOTE_USER} !^$
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule . index.php [L]