You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nginx中拦截所有包含'author'关键词的URL?

如何在Nginx中拦截所有包含'author'关键词的URL?

我懂你想把所有带"author"的请求都拦下来的需求——不管它是在URL路径里,还是在问号后面的查询参数里对吧?你之前用的location ~ author规则之所以不管用,是因为它只匹配URI路径部分(也就是?前面的内容),像example.com/?author=2这种带查询参数的请求根本不会被这个location匹配到。

给你一套能覆盖所有情况的配置:

# 拦截路径中包含"author"的请求(不区分大小写)
location ~* author {
    deny all;
}

# 拦截查询参数中包含"author"的请求(不区分大小写)
if ($query_string ~* author) {
    deny all;
}

几点说明:

  • 用~*是做不区分大小写的匹配,如果你只想拦截大小写完全一致的"author",把~*换成~就行。
  • 把这两段配置放在你的server块里靠前的位置,因为Nginx会优先匹配更具体的location规则,靠前放能确保拦截规则先生效。
  • 修改完配置后,先执行nginx -t检查配置是否合法,没问题再重启Nginx,避免出现服务故障。

备注:内容来源于stack exchange,提问作者charll

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 12:53:13