GCP全球外部负载均衡www转非www域名路径重定向问题咨询
问题解决与最佳实践确认
修复路径丢失的重定向配置问题
你之前的重定向规则未保留请求路径,导致所有www子域名的请求都被跳转到主域名根路径。需要修改YAML配置,使用请求变量来保留原路径和查询参数:
# 修改后的Host和路径规则配置示例 hostRules: - hosts: - www.example.com pathMatcher: www-redirect-matcher pathMatchers: - name: www-redirect-matcher defaultRouteAction: redirect: hostRedirect: example.com pathRedirect: "{request_path}" queryParametersRedirect: "preserve" redirectResponseCode: MOVED_PERMANENTLY_DEFAULT # 可选,指定301永久重定向 schemeRedirect: HTTPS
关键配置说明:
pathRedirect: "{request_path}":自动带入原请求的路径部分(如/page1)queryParametersRedirect: "preserve":保留原请求的查询参数(如?foo=bar)schemeRedirect: HTTPS:确保重定向后强制使用HTTPS(若已全局强制HTTPS可省略)
最佳实践确认
这种通过Global External Load Balancer的Host/路径规则配置重定向的方式,是GCP官方推荐的最佳实践:
- 重定向在边缘节点完成,无需请求到达Cloud Run服务,减少后端资源消耗与网络延迟
- 集中管理域名规则,无需修改应用代码,配置变更更灵活
- 支持301/302等标准重定向状态码,符合SEO规范
内容的提问来源于stack exchange,提问作者Srinivasan
相关产品推荐
相关产品推荐

