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

Netlify重写规则配置咨询:隐藏国家路径访问主域名

完全可行,用Netlify的重写规则就能实现

核心逻辑是通过内部重写(地址栏不变化)将根路径请求导向对应国家的目录,同时保留原目录的直接访问入口。以下是具体配置方式:

方法1:使用_redirects文件(推荐,更简洁)

在项目根目录创建_redirects文件,添加规则:

# 根据GeoIP自动匹配国家目录(地址栏不变)
/* /:geoip_country_code/:splat 200!

# 如果你的目录名和GeoIP代码不一致(比如用fra代替FR),可以手动指定国家映射:
/* /fra/:splat 200! Country=FR
/* /usa/:splat 200! Country=US
/* /default/:splat 200!  # 其他国家默认导向default目录
  • 200! 表示强制内部重写,地址栏不会显示国家路径;
  • :geoip_country_code 是Netlify内置的GeoIP变量,会自动识别请求的国家代码(如FR、US);
  • 直接访问mydomain.com/fra不受影响,因为Netlify会优先返回已存在的目录资源,不会触发根路径的重写规则。

方法2:使用netlify.toml配置

如果习惯用Toml格式管理配置,可在netlify.toml中添加:

# 自动匹配GeoIP的通用规则
[[redirects]]
  from = "/*"
  to = "/:geoip_country_code/:splat"
  status = 200
  force = true

# 手动指定国家映射的示例
[[redirects]]
  from = "/*"
  to = "/fra/:splat"
  status = 200
  force = true
  conditions = {Country = ["FR"]}

[[redirects]]
  from = "/*"
  to = "/usa/:splat"
  status = 200
  force = true
  conditions = {Country = ["US"]}
  • force = true 对应_redirects里的!,确保强制执行重写;
  • conditions = {Country = ["FR"]} 用来指定特定国家的匹配规则。

测试技巧

可以通过添加请求头模拟不同国家的访问,验证规则是否生效:

curl -H "x-nf-geoip-country-code: FR" https://mydomain.com

这个请求会被内部重写到/fra目录的内容,地址栏依然显示根路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:35:29