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



我在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文件中放入什么来"清除"或覆盖该规则?

在phpmyadmin子文件夹中创建一个htaccess文件,并将以下内容放入其中:

<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{QUERY_STRING} (GLOBALS|REQUEST)(=|[|%) [NC]
    RewriteRule .* - [F]
</IfModule>
该规则将优先于任何父文件夹中的任何规则。

最新更新