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



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

我正在考虑使用.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的意见,将ppage=数字匹配,然后尝试以下操作。

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

最新更新