如何让mod_rewrite和用户身份验证协同工作?我试过这个,但它只是给了我一个“没有指定输入文件” - 当我删除身份验证时,它有效,所以我找到了问题,但我自己无法解决。
DirectoryIndex index.html index.php
AuthName "Something"
AuthType Basic
AuthUserFile /.htpasswd
require valid-user
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
</IfModule>
提前致谢:)
答案 0 :(得分:0)
在您的规则中添加RewriteBase
:
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ index.php?url=$1 [PT,L]
或者您可以尝试添加前导斜杠或index.php
的路径。