wordpress htaccess阻止查询字符串

时间:2014-12-07 04:42:50

标签: wordpress .htaccess

如果已经回答过类似的问题,我会提前道歉。我试图使用如下所示的查询字符串来阻止请求:

?alt_id=nnnn&alt_ts=&alt_ts=&alt_ts...

其中nnnn是某个数字,...表示&alt_ts=重复多次。

而不是测试这个特定的查询字符串,我认为仅仅&alt_ts=&alt_ts的测试就足够了,所以我将此规则添加到.htaccess,但它不起作用:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^.*(&alt_ts=&alt_ts).* [NC]
RewriteRule ^(.*)$ - [F,L]
</IfModule>

然而,它不起作用。我希望有一位能够解决这个问题的htaccess专家。感谢。

这是我当前的.htaccess文件,根据anubhava的建议修改:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^alt_id=[^&]+&alt_ts= [NC]
RewriteRule ^ - [F,L]
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

# END WordPress

1 个答案:

答案 0 :(得分:3)

您可以使用:

RewriteEngine On

RewriteCond %{THE_REQUEST} \s/+[^?]*\?alt_id=[^&]+&alt_ts= [NC]
RewriteRule ^ - [F,L]

确保这是主要WP .htaccess文件中RewriteEngine行下面的第一条规则