nginx 反向代理下的 WordPress URL

nginx 反向代理下的 WordPress URL

我在内部服务器(Debian)上的 apache2 上有 WordPress 实例。

我通过 nginx 反向代理访问这些实例。

反向操作对于 WP 首页来说没问题,但页面中的所有链接都指向内部服务器(例如:192.168.42.42/wp2/...),而不是反向的 URL。我只在 WP 上遇到这个问题:我也有 limesurvey 和 dolibarr 实例,但都没有问题。

在 WP 中,我可以更改“站点地址 (URL)”设置,但我正在寻找另一种方法来反向执行此操作。

我尝试了很多方法,但都没有效果。

我的实际 nginx 配置:

server {
        listen 80;
        server_name mondomaine.fr;
        location / {
            proxy_pass      http://internal-server/;
            }

        location /wp2/ {
            proxy_pass      http://internal-server/wp2/;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header X-Forwarded-Proto $scheme;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $host;
            }
}

谢谢

答案1

通常,WordPress 配置中的主页和站点 URL 设置(请参阅这个文件) 以全写形式显示方案主机名, 和小路,例如http://192.168.42.42/wp2/

如果你删除方案主机名,你的页面将填充相对 URL,并且浏览器将假定方案主机名反向代理。例如,使用:/wp2/

相关内容