如果我想阻止访问example.com/path/?xxxx
(xxxx
是变量),但允许访问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]