wordpress htaccess阻止查询字符串

wordpress htaccess阻止查询字符串,wordpress,.htaccess,Wordpress,.htaccess,如果类似的问题已经得到了回答,我提前道歉。我正在尝试使用如下所示的查询字符串阻止请求: ?alt\u id=nnnn&alt\u ts=&alt\u ts=&alt\u ts… 其中,nnnn是一些数字,..表示&alt\u ts=重复多次 我没有测试这个特定的查询字符串,而是认为只测试&alt\u ts=&alt\u ts就足够了,所以我在.htaccess中添加了这个规则,但它不起作用: <IfModule mod_rewrite.c> RewriteEngine On Rewr

如果类似的问题已经得到了回答,我提前道歉。我正在尝试使用如下所示的查询字符串阻止请求:

?alt\u id=nnnn&alt\u ts=&alt\u ts=&alt\u ts…

其中,
nnnn
是一些数字,
..
表示
&alt\u ts=
重复多次

我没有测试这个特定的查询字符串,而是认为只测试
&alt\u ts=&alt\u ts
就足够了,所以我在.htaccess中添加了这个规则,但它不起作用:

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

重新启动发动机
RewriteCond%{QUERY\u STRING}^.*(&alt\u ts=&alt\u ts)。*[NC]
重写规则^(.*)$-[F,L]
但是,它不起作用。我希望有一位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
#开始WordPress
重新启动发动机
RewriteCond%{QUERY_STRING}^alt_id=[^&]+&alt_ts=[NC]
重写规则^-[F,L]
重写基/
重写规则^index\.php$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.php[L]
#结束WordPress
您可以使用:

RewriteEngine On

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

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

谢谢您的建议,但它不起作用。我在浏览器地址栏中键入
domainname.com/page name/?alt\u id=1&alt\u ts=
,它会显示
domainname.com/page name
,这很有效!非常感谢:)知道我们以前的尝试失败的原因吗?实际上,您可以在.htaccess的顶部添加
ErrorDocument 403 default
,以进行修复,因为某处有一些错误的
ErrorDocument
。早期版本不起作用的原因是WP将所有内容转发到
index.php
,这会更改
请求URI
,可能还会更改
查询字符串
。你又对了!成功了。我非常感谢你的帮助。非常有用,真的救了我的命!