You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

将WordPress地址从blog.site.com改为site.com/blog的配置问题求助

解决site.com/blog访问子域名WordPress的链接跳转问题

问题根源

你的问题出在Nginx路径匹配规则不精确,以及WordPress站点URL生成时的斜杠拼接错误,同时缺少必要的反向代理头信息导致WordPress无法正确识别当前访问地址。

解决方案

1. 修正Nginx反向代理配置

修改第一台服务器上site.com的Nginx配置,调整location规则并补充代理头:

location ^~ /blog/ {
    proxy_pass https://blog.site.com/;
    proxy_ssl_server_name on;
    
    # 确保WordPress能正确识别访问域名和协议
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}
  • ^~ /blog/:精确匹配以/blog/开头的路径,避免误匹配类似/blogpost这类无关路径
  • 补充的proxy_set_header:让WordPress获取到正确的访问域名、客户端IP和协议,保证生成的链接地址正确

修改后执行以下命令重启Nginx生效:

sudo nginx -t && sudo systemctl restart nginx

2. 修正WordPress站点配置

直接修改WordPress根目录下的wp-config.php文件,添加以下代码(优先用这种方式避免后台设置失效):

define('WP_HOME', 'https://site.com/blog');
define('WP_SITEURL', 'https://site.com/blog');

若习惯通过后台操作,可登录blog.site.com的WordPress后台,进入设置 → 常规,将**站点地址(URL)和WordPress地址(URL)**都设置为https://site.com/blog

3. 刷新WordPress固定链接规则

登录WordPress后台,进入设置 → 固定链接:

  • 临时选择一个不同的链接格式(比如“朴素”),点击保存
  • 再改回你原来使用的链接格式,点击保存
    这一步会刷新WordPress的rewrite规则,确保新的站点URL生成正确的链接。

验证

完成以上步骤后,访问site.com/blog,点击文章链接应该会正常跳转到site.com/blog/post-name,不会再出现缺失斜杠或跳转到子域名的问题。

内容的提问来源于stack exchange,提问作者Parsa Haghighi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 15:52:16