Php 在nginx转发后保持域不变?

Php 在nginx转发后保持域不变?,php,wordpress,nginx,Php,Wordpress,Nginx,我的设置如下所示: 域名->nginx\u ip\u地址->wordpress\u博客\u ip\u地址 其中,当用户访问“/blog”时,nginx将请求转发到运行wordpress博客的机器的单独ip地址 问题是,当用户点击博客中的帖子时,url将显示为:“wordpress\u blog\u ip\u address/post”,而不是“domain\u name/blog/post”。我怎样才能解决这个问题 我当前的nginx文件如下: server { location / {

我的设置如下所示:

域名->nginx\u ip\u地址->wordpress\u博客\u ip\u地址

其中,当用户访问“/blog”时,nginx将请求转发到运行wordpress博客的机器的单独ip地址

问题是,当用户点击博客中的帖子时,url将显示为:“wordpress\u blog\u ip\u address/post”,而不是“domain\u name/blog/post”。我怎样才能解决这个问题

我当前的nginx文件如下:

server {
    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }

    location /blog {
    proxy_pass http://new_ip_address/;
      proxy_set_header Host $host;
    }
}

可能是wordpress被配置为使用
wordpress\u blog\u ip\u address/
作为绝对url,所有url wordpress return将以
wordpress\u blog\u ip\u address/
开头。要更改此绝对url,请在
wp config.php
中,将
wp\u SITEURL
设置为动态生成,即:

define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/' );
对于
WP\u HOME
WP\u CONTENT\u URL
WP\u PLUGIN\u URL
和其他包含绝对URL的字段,也是如此。(使用编辑器中的搜索功能。)


来源:

另一种方法是使用插件强制Wordpress输出相对URL