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

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

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

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

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

假设你的站点根目录下有两个文件夹:enzh,分别放置不同语言的文件。
下面是一个完整的 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. 语言切换后出现重定向循环

  • 可能因为你同时配置了 rewritetry_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
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意