我有一个适用于 Yii 1.1 的标准 .htaccess,我向其中添加了基于 http 的授权。
当我添加密码保护时,重写条件RewriteCond %{REQUEST_FILENAME} !-f
停止工作,现在静态文件请求通过 index.php 处理
但实际上密码保护也不起作用,我只能不输入任何登录数据并单击登录,或者单击取消,网站仍然会出现。
这里可能发生什么事?
我尝试了每个选项来处理 passwd 文件,使用完整路径,使用 ~ 相对路径,以及当前目录相对路径,如同此处的代码一样,但都没有起作用。
我使用在线工具创建了 .htpasswd 文件,我认为它没问题,但如果格式错误,难道它不应该阻止访问而不是授予访问权限吗?为什么系统要求我输入密码,而我什么也没输入,然后它就让我通过了?
.htaccess 文件:
AuthType Basic
AuthName "Authorreach Staging"
AuthUserFile .htpasswd
Require valid-user
# if a directory or a file exists, use it directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# --- Lines relevant to this question end here (I think) ---
# For security reasons, Option followsymlinks cannot be overridden.
#Options +FollowSymLinks
Options +SymLinksIfOwnerMatch
RewriteEngine on
<Files ~ "\.(jpg|jpeg|png|gif|pdf)$">
order deny,allow
allow from all
FileETag MTime Size
</Files>
# otherwise forward it to index.php
RewriteRule . index.php