WPML
状态
已解决
解决于
3.7.0

问题概述

如果您在 nginx 服务器上将 WPML 配置为每种语言使用不同的域名,您每次都会被重定向到默认语言的主页。

该问题似乎源于 nginx,当 REQUEST_URI 为空时,它会返回不正确的 HTTP_HOST 变量。

临时解决方法

要解决此问题,您可以为每个域名创建一个单独的 server 区块。

例如,您典型的 nginx 配置可能如下所示:

server {
    server_name example.com example.es;
    root /var/www/html;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
}

要解决此问题,请像下面这样为每个 server_name 创建一个 server 区块:

server {
    server_name example.com;
    root /var/www/html;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
}

server {
    server_name example.es;
    root /var/www/html;
    index index.php;
    location / {
        try_files $uri $uri/ /index.php?q=$uri&$args;
    }
}

您的确切配置可能会有所不同。这只需复制 server 区块,并为每个区块设置不同的 server_name 即可。

最后,您需要重新启动 nginx 并重试。

所有已知问题 →