我有一个设置,如下所示:
domain_name -> nginx_ip_address -> wordpress_blog_ip_address
当用户访问"/blog“时,nginx会将请求转发到运行wordpress博客的机器的单独ip地址。
问题是,当用户点击博客中的帖子时,url将显示为:"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;
}
}发布于 2016-01-24 16:57:32
可能wordpress被配置为使用wordpress_blog_ip_address/作为绝对url,而wordpress返回的所有url都将以wordpress_blog_ip_address/开头。要更改此绝对url,请在wp-config.php中将WP_SITEURL设置为动态生成,即:
define( 'WP_SITEURL', 'http://' . $_SERVER['SERVER_NAME'] . '/' );对于WP_HOME、WP_CONTENT_URL、WP_PLUGIN_URL和其他包含绝对url的字段也是如此。(使用编辑器中的搜索功能。)
来源:https://codex.wordpress.org/Editing_wp-config.php#WordPress_address_.28URL.29
发布于 2016-01-24 17:33:25
另一种方法是使用Relative URL插件强制Wordpress输出相对网址。
https://stackoverflow.com/questions/34973420
复制相似问题