覆盖root .htaccess以允许在子目录中访问查询字符串

时间:2013-04-07 17:52:09

标签: .htaccess mod-rewrite

我在public_html根文件夹中的.htaccess中有重写块,以防止奇怪的查询字符串和其他“错误”访问。

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /
    RewriteCond %{QUERY_STRING} (base64_encode|localhost|mosconfig) [NC,OR]
    RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC]
    RewriteRule .* - [F]
</IfModule>

但这打破了我在子文件夹中运行phpmyadmin的麻烦。具体来说,phpmyadmin(不是在一个独立的文件夹中,而是在一个WordPress插件中;但这不应该有所区别)是来自localhost(我认为)上面的base64_encode|localhost|mosconfig行的“访问被拒绝”。我删除该行,然后phpmyadmin将在子文件夹中运行。

我可以将子文件夹中的.htaccess文件放入“清除”或覆盖该规则中吗?

1 个答案:

答案 0 :(得分:2)

在phpmyadmin子文件夹中创建一个htaccess文件并将其放入其中:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|\[|%) [NC]
    RewriteRule .* - [F]
</IfModule>

该规则优先于任何父文件夹中的任何规则。