htaccess,阻止访问带有参数的 url

htaccess,阻止访问带有参数的 url

如果我想阻止访问example.com/path/?xxxxxxxx是变量),但允许访问example.com/path/,我应该如何在我的中写入它.htaccess

答案1

当使用根文件/path/顶部的 mod_rewrite 通过任何查询字符串请求特定路径 () 时,您可以阻止访问(例如,触发 404 Not Found) 。.htaccess

例如:

RewriteEngine On

RewriteCond %{QUERY_STRING} .
RewriteRule ^path/$ - [R=404]

上述代码与 URL/path/完全匹配。(请注意,匹配的 URL 路径上没有斜杠前缀RewriteRule 图案- 第一个参数。)

要阻止包含任何查询字符串的所有 URL,请更改RewriteRule 图案改为仅^(只是字符串断言的开始,因此对于任何 URL 路径都是成功的)。例如:

:
RewriteRule ^ - [R=404]

相关内容