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

Nginx配置求助:将特定内部URL重定向至对应外部原链接

Nginx重定向配置方案

你之前的rewrite规则没生效,是因为正则只匹配了/http开头的路径,但实际请求路径是/https://xxx,正则范围没覆盖到完整的前缀。

给你两种可靠的配置方案,选一种放在对应域名的server块里即可:

方案一:用rewrite规则

rewrite ^/(https?://.+)$ $1 permanent;
  • https?匹配http或https,确保两种协议的外部链接都能被处理
  • permanent表示301永久重定向,利于SEO;如果需要临时重定向,换成redirect(302)即可

方案二:用location块匹配(优先级更明确)

location ~ ^/(https?://.+)$ {
    return 301 $1;
}

这种写法通过location直接匹配目标路径,避免和其他rewrite规则冲突,逻辑更清晰。

注意事项

  • 把这个规则放在PHP处理的location(比如location ~ \.php$)之前,否则请求会先被PHP接管,无法触发重定向
  • 修改配置后,先用nginx -t校验语法,再执行systemctl reload nginx生效
  • 如果有其他自定义规则,注意正则匹配的优先级:正则location > 前缀location

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 08:25:40