我有一个设置如下:
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;
}
}
答案 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_HOME
,WP_CONTENT_URL
,WP_PLUGIN_URL
以及包含绝对网址的其他字段相同。 (在编辑器中使用搜索功能。)
来源:https://codex.wordpress.org/Editing_wp-config.php#WordPress_address_.28URL.29
答案 1 :(得分:0)
另一种方法是强制Wordpress使用Relative URL插件输出相对URL。