如果已经回答过类似的问题,我会提前道歉。我试图使用如下所示的查询字符串来阻止请求:
?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
答案 0 :(得分:3)
您可以使用:
RewriteEngine On
RewriteCond %{THE_REQUEST} \s/+[^?]*\?alt_id=[^&]+&alt_ts= [NC]
RewriteRule ^ - [F,L]
确保这是主要WP .htaccess文件中RewriteEngine
行下面的第一条规则。