我在根目录中安装了 WordPress,并为其设置了 RewriteRule。
我需要用密码保护子文件夹(“蓝色”),因此我在该文件夹中设置了 htaccess。
问题是根 htaccess RewriteRule 应用于“blue”,因此我在主 WordPress 站点中得到 404(而不是打开子文件夹的密码对话框)。
这是根 htaccess:
RewriteEngine on
<Files 403.shtml>
order allow,deny
allow from all
</Files>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
我尝试将其插入为第二行,但无济于事:
RewriteRule ^(blue)($|/) - [L]
还尝试在 index.php RewriteRule 之前插入此规则:
RewriteCond %{REQUEST_URI} !^/blue/
那也没有用。
还将其插入到子文件夹的 htaccess 中,但也没有作用:
<IfModule mod_rewrite.c> RewriteEngine off </IfModule>
有任何想法吗?
答案1
尝试从 RewriteCond 中删除前导 /
RewriteCond %{REQUEST_URI} !^blue/
編輯:它应该无需 RewriteCond 即可工作,因为前两个条件应该涵盖它,除非您在该目录中进行更多重写或类似操作。
您是否在使用自定义错误页面?某些东西正在更改 Request_URI,因此它不再符合任何条件。
如果你没有使用共享主机,或者你的主机支持共享主机,请尝试设置重写日志这会告诉你到底发生了什么。