跨境独立站多语言站点Nginx配置教程

多语言站点的URL结构怎么设计

配置 Nginx 之前,先确定你的多语言路径风格。
最常见的方式是语言前缀,比如 https://yoursite.com/en/ 代表英文、https://yoursite.com/zh/ 代表中文。
Nginx 会根据请求路径的前缀把流量分发到对应语言的网站根目录。

适合零基础:如果你用的是 WordPress 多语言插件(如 WPML、Polylang),或者自定义 PHP 框架,这种前缀方式兼容性最好,搜索引擎也容易理解。

修改Nginx配置文件:添加语言匹配规则

假设你的站点根目录下有两个文件夹:en 和 zh,分别放置不同语言的文件。
下面是一个完整的 Nginx server 配置示例(适用于大多数 Linux 系统,配置文件路径通常是 /etc/nginx/sites-available/你的域名.conf 或 /usr/local/nginx/conf/vhost/你的域名.conf)。

server {
    listen 80;
    server_name yoursite.com www.yoursite.com;

    # 默认语言(访问根域名时跳转到英文)
    rewrite ^/$ /en/ permanent;

    # 静态资源文件直接访问,不经过语言前缀处理
    location ~* \.(css|js|jpg|jpeg|png|gif|ico|svg|woff2?|ttf|eot)$ {
        root /var/www/html;
        expires 30d;
        log_not_found off;
    }

    # 英文站点
    location /en/ {
        alias /var/www/html/en/;
        index index.html index.php;
        # 如果需要 PHP 解析,请自行添加 fastcgi_pass
    }

    # 中文站点
    location /zh/ {
        alias /var/www/html/zh/;
        index index.html index.php;
    }

    # 其他路径(可选:可返回404或重定向到默认语言)
    location / {
        return 404;
    }
}

关键说明:

  • rewrite ^/$ /en/ permanent; 把根域名 / 直接 301 跳转到英文首页,避免空目录访问报错。
  • alias 必须与 location 后带斜杠的路径对应,否则报 404。
  • 静态资源单独匹配并指定根目录,避免 Nginx 错误地把 .css 的请求也解析到语言前缀。

配置完成后,执行 sudo nginx -t 检测语法,然后 sudo systemctl reload nginx(或 service nginx reload)使其生效。

高频避坑与常见问题解答

1. 配置后访问 /en/ 返回 404

  • 检查 alias 路径是否正确,确保 /var/www/html/en/ 目录存在且有 index 文件。
  • 如果 /en/ 目录下是 PHP 程序,需要额外配置 location ~ \.php$ 并指向正确的 fastcgi 参数。

2. 语言切换后出现重定向循环

  • 可能因为你同时配置了 rewrite 和 try_files,两者冲突。建议只用 alias + index,或者只用一个 location 内的逻辑。
  • 检查是否有其他 server 块干扰,可以使用 sudo nginx -T 查看完整配置。

3. 静态资源加载失败(图片、CSS 请求 404)

  • 确认 location ~* \.(css|js|...)$ 块里 root 指向的是文件实际存放的根目录(而不是语言目录)。
  • 如果静态资源也分布在各语言文件夹内,可以单独为每个语言 location 添加 try_files $uri $uri/ =404;,并取消上面的通用静态规则。

4. 如何添加新的语言(例如日语 /ja/)

  • 服务器上新建 /var/www/html/ja/ 目录并放好文件。
  • 复制上面 location /en/ 块,将路径改为 /ja/ 和 /var/www/html/ja/。
  • 重启 Nginx 即可。

验证多语言配置是否生效

执行下面两条命令,观察响应状态码和实际返回内容:

# 测试英文首页
curl -I http://yoursite.com/en/
# 测试中文首页
curl -I http://yoursite.com/zh/
  • 返回 HTTP/1.1 200 OK 说明正常。
  • 访问根域名 http://yoursite.com/ 应该看到 301 Moved Permanently 跳转到 /en/。

用浏览器打开各语言路径,确认页面渲染正确、图片可加载。

如果你正在搭建跨境独立站,并且需要多语言支持,建议先按照本文步骤在测试环境运行一次,确认配置稳定后再迁移到正式服务器。
遇到异常时优先回看避坑和高频问题部分,大部分新手问题都能在这里找到答案。

分享到:
上一篇
家用住宅NAS同步跨境网站数据备份,新手也能照做的实操教程
下一篇
外贸站图片WebP压缩降低海外加载延迟
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意