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

标签 .htaccess redirect mod-rewrite url-rewriting friendly-url

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

我正在考虑使用 .htaccess 来执行此操作,并且猜测最好使用 RewriteCond 规则来完成。我已经尝试过了,但似乎不起作用。

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

非常感谢任何帮助

最佳答案

根据您显示的示例,请尝试执行以下操作。 请确保在测试您的网址之前清除浏览器缓存。

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]

关于.htaccess - htaccess 通过正则表达式拒绝对 URI 的访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66940976/

相关文章:

php - htaccess 从 url 中删除 .php 和 .html

php - .htaccess 替换(重写)PHP URL 中的 $_GET 变量

python - 将 Scrapy 代理中间件设置为根据每个请求轮换

php - 可点击获取的数据: Website Redirect

apache - 重定向 301 htaccess 仅适用于斜线 Laravel

regex - 如何在rewritecond中匹配www和非www?

php - mod_rewrite到子目录中相应的php文件

php - 进行 URL 重写

apache - 如何将所有请求重定向到index.php并保留其他GET参数?

php - 使用 htaccess 获取值(value)和重定向