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

Google Cloud Load Balancer:如何重定向主机并加基础路径且保留原路径

主机重定向+保留原路径并添加基础路径的解决方案

针对你需要将abc.mydomain.com/original/path重定向到abc.mydomain2.com/base_path/original/path的需求,不同环境下的实现方案如下:

Nginx 配置

利用rewrite规则捕获原路径并拼接新地址:

server {
    listen 80;
    server_name abc.mydomain.com;

    # 301永久重定向,临时重定向替换为redirect
    rewrite ^/(.*)$ https://abc.mydomain2.com/base_path/$1 permanent;
}

^/(.*)$会匹配域名后的所有路径内容,将其拼接到新地址的base_path/后,完全保留原路径信息。

Cloudflare Workers 实现

通过Worker脚本修改URL并返回重定向:

addEventListener('fetch', event => {
  event.respondWith(handleRequest(event.request))
})

async function handleRequest(request) {
  const url = new URL(request.url)
  url.hostname = 'abc.mydomain2.com'
  url.pathname = `/base_path${url.pathname}`
  return Response.redirect(url.toString(), 301)
}

Envoy 配置(解决pathRedirect丢失路径问题)

Envoy的pathRedirect会覆盖原路径,改用prefix_rewrite配合主机重定向即可:

routes:
- match:
    prefix: "/"
    domain: "abc.mydomain.com"
  redirect:
    hostname: "abc.mydomain2.com"
    prefix_rewrite: "/base_path"

该配置会自动将原路径追加到/base_path之后,完美实现需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 13:27:43