我有WordPress安装在我的根目录,为此RewriteRule的地方。
我需要密码保护一个子文件夹(“蓝色”),所以我在这个文件夹中设置htaccess。
问题是,根htaccess RewriteRule应用于“蓝色”,因此我得到一个404在主WordPress站点(而不是打开子文件夹的密码对话框)。
这里是根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>
有任何想法吗?
尝试删除领先/从RewriteCond
RewriteCond %{REQUEST_URI} !^blue/
编辑:它应该没有RewriteCond作为前两个条件应该覆盖它,除非你在该目录或更多的重写。
您是否使用自定义错误页面? 有些东西正在改变Request_URI,使它不再符合任何条件。
如果您不在共享主机上,或者您的主机支持它,请尝试设置重写日志,这将告诉您到底发生了什么。