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

同一域名指向不同服务器上的Rails与WordPress站点实现方案咨询

同一域名下同时部署Rails(Heroku)和WordPress(Godaddy)的实现方案

完全可以实现你的需求,核心思路是通过基于路径的反向代理,将域名下的特定子路径路由到WordPress站点,其余路径默认指向Rails应用,无需修改两个应用的核心代码,也不用依赖子域名。以下是具体操作步骤:

1. 配置域名解析与反向代理

DNS本身无法按路径区分流量,必须通过反向代理中间层做路由分发:

  • 将你的主域名(如example.com)的DNS记录指向反向代理服务的入口地址
  • 在反向代理中配置路由规则:
    • 所有非/blog开头的请求(如/、/products)转发到Heroku上的Rails应用地址(如yourapp.herokuapp.com)
    • 所有/blog开头的请求(如/blog/post-1)转发到Godaddy的WordPress站点地址,同时配置路径重写:将/blog/*的前缀去掉,转发为WordPress的/*路径(确保WordPress能正确识别请求)

2. 调整WordPress的站点配置

登录Godaddy的WordPress后台,进入「设置→常规」:

  • 将「WordPress地址(URL)」设为Godaddy分配给你的WordPress原始访问地址(如your-wordpress-site.godaddysites.com)
  • 将「站点地址(URL)」设为主域名的/blog路径(如https://example.com/blog)
  • 保存设置后,WordPress生成的所有链接、资源路径都会自动适配主域名的/blog前缀,确保前端跳转和资源加载正常。

3. 适配Rails应用的路由

  • 检查Rails的路由配置,确保没有使用/blog作为业务路径(如果已存在,需将其修改为其他名称,如/news),避免路径冲突
  • 在Heroku后台的「设置→域名」中添加你的主域名example.com,确保Rails应用能正确接收主域名的请求

4. 可选:自建Heroku反向代理应用

如果不想依赖第三方反向代理服务,可以在Heroku上部署一个轻量的代理应用(比如用Nginx或Node.js实现),作为流量入口:

  • 代理应用的核心逻辑是根据请求路径转发:非/blog路径转发到Rails应用,/blog路径转发到WordPress
  • 将主域名指向这个代理应用的Heroku地址,实现完全可控的路由分发

5. 测试验证

  • 访问https://example.com,确认加载Rails应用的首页
  • 访问https://example.com/blog,确认加载WordPress的首页,点击文章、分类等链接,验证URL格式和内容加载正常
  • 测试Rails应用的各个功能页面,确保业务逻辑不受影响

注意事项

  • 确保所有环节都配置了对应域名的SSL证书,避免浏览器出现安全警告
  • 如果使用第三方反向代理,需确认其支持路径重写和HTTPS转发功能

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 03:31:12