Php 在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文件如下: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 / {
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