.htaccess htaccess通过正则表达式拒绝对URI的访问

.htaccess htaccess通过正则表达式拒绝对URI的访问,.htaccess,redirect,mod-rewrite,url-rewriting,friendly-url,.htaccess,Redirect,Mod Rewrite,Url Rewriting,Friendly Url,我想拒绝通过数据库id地址访问我的所有帖子/页面,例如/?p=1,/?p=2。。。等 我正在考虑使用.htaccess来实现这一点,我想最好使用RewriteCond规则。我试过这个,但似乎不起作用 RewriteEngine On RewriteCond %{REQUEST_URI} ^/?p=* RewriteRule ^(.*)$ - [F,L] 非常感谢您对展示样品的任何帮助,请尝试以下内容。 请确保在测试URL之前清除浏览器缓存 RewriteEngine ON RewriteCon

我想拒绝通过数据库id地址访问我的所有帖子/页面,例如
/?p=1
/?p=2
。。。等

我正在考虑使用.htaccess来实现这一点,我想最好使用RewriteCond规则。我试过这个,但似乎不起作用

RewriteEngine On
RewriteCond %{REQUEST_URI} ^/?p=*
RewriteRule ^(.*)$ - [F,L]

非常感谢您对展示样品的任何帮助,请尝试以下内容。 请确保在测试URL之前清除浏览器缓存

RewriteEngine ON
RewriteCond %{QUERY_STRING} ^p=[0-9]+ [NC]
RewriteRule ^ - [F,L]
根据OP的注释,将
p
page
=
数字匹配,然后尝试以下操作

RewriteEngine ON
RewriteCond %{QUERY_STRING} ^(p|page)=[0-9]+ [NC]
RewriteRule ^ - [F,L]

看到你的个人资料,你就知道你从来没有接受过任何问题的答案。当答案不多的时候,给它一些时间,检查一下,然后回复给用户。为了感恩,你可以投票选出所有有用的答案(鼓励用户这么做),并从中选出一个答案。你可以看到这个链接:干杯,快乐学习。现在你也可以回到你以前的答案,在任何适用的地方接受一个答案,干杯。这很有效!谢谢很抱歉,我还想加入一项禁止使用^page_id=[0-9]的禁令。我如何才能将其纳入代码中?@Matt,请尝试一下我的第二条编辑规则,并让我知道这是否对您有帮助?@Matt,您也可以通过单击我答案附近的up sign向上投票,也可以通过单击我答案附近的勾号选项接受我的答案,干杯,快乐学习。必须在“^page”的末尾添加“\u id”但它确实有效,非常感谢。Upvoted and acceptedHi@RavinderSingh13我解决的条件是重写cond%{QUERY_STRING}^(p|page_id)=[0-9]+[NC]重写规则^-[F,L]