在nginx转发后保持域名相同?

时间:2016-01-24 07:54:23

标签: php wordpress nginx

我有一个设置如下:

domain_name - > nginx_ip_address - > wordpress_blog_ip_address

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

问题是,当用户点击博客中的帖子时,该网址将显示为:“wordpress_blog_ip_address / post”而不是“domain_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;
    }
}

2 个答案:

答案 0 :(得分:0)

可能是wordpress配置为使用wordpress_blog_ip_address/作为绝对网址,所有网址wordpress返回将以wordpress_blog_ip_address/开头。要更改此绝对网址,请在wp-config.php中将WP_SITEURL设置为动态生成,即:

define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/' );

WP_HOMEWP_CONTENT_URLWP_PLUGIN_URL以及包含绝对网址的其他字段相同。 (在编辑器中使用搜索功能。)

来源:https://codex.wordpress.org/Editing_wp-config.php#WordPress_address_.28URL.29

答案 1 :(得分:0)

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

相关问题