是否可以阻止 apache 中以特定 url 结尾的请求,例如我必须阻止所有以 ?wsdl 结尾的请求。
答案1
您的例子很容易解决,您可以使用mod_rewrite
它来实现这一点:
RewriteCond %{QUERY_STRING} "^wsdl.*$"
RewriteRule "" "-" [F]
wsdl
这将阻止以第一个查询参数名称开头的任何请求。
为了仅阻止wsdl
查询字符串中任何位置的参数,正则表达式会稍微复杂一些:
RewriteCond %{QUERY_STRING} ".*(?:^|&)wsdl(?:=|&|$)"
RewriteRule "" "-" [F]
此配置适用于
- ?wsdl
- ?wsdl=某物
- ?s1=s2&wsdl
- ?s1=s2&wsdl=某物
- ?s1=s2&wsdl&s3=s4
我使用过的资料来源: