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

Nginx配置rewrite规则隐藏URL页面名称不生效如何解决

配置失效原因

你当前的配置有两个核心逻辑错误,导致规则完全无法命中目标请求:

  • location = /是精确匹配规则,仅当访问域名根路径https://super30.net/时才会进入这个配置块,你需要处理的/999999这类路径根本不会命中该location。
  • 规则内的rewrite正则^/referal/(.*)$仅匹配/referal/xxx格式的路径,和你需要捕获的/数字uid路径完全不匹配,即使location匹配范围正确也拿不到uid参数。
可用配置方案

直接在server块内添加如下location规则即可,注意保留你原有的站点配置、PHP解析配置不要改动:

# 匹配根路径下纯数字格式的请求(对应/999999这类URL)
location ~ ^/(\d+)$ {
    rewrite ^/(\d+)$ /referal.php?uid=$1 last;
}

注意:如果你的uid可能包含字母、下划线等非数字字符,可以把正则调整为^/([a-zA-Z0-9_]+)$,不要直接用(.*)这类全匹配规则,否则会误拦截站点下静态资源、其他正常页面的请求。

生效操作

配置修改完成后,先执行nginx -t校验配置语法是否正确,确认无报错后执行nginx -s reload重载Nginx配置即可生效。

内容的提问来源于stack exchange,提问作者Asesha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 19:27:23