我有一个客户想要将他的 Rails 应用程序迁移到 Heroku。然而,客户还有一个与他的域关联的博客,该博客在 WordPress 上运行。目前,WordPress 博客与 Rails 应用程序一起愉快地运行,但是一旦我们迁移到 Heroku,这显然是不可能的。
应用程序的 url 类似于 http://mydomain.com ,博客的网址类似于 http://mydomain/blog .
我意识到最好的长期解决方案是以 Toto 或 Jekyll 等 Rails 格式重做博客。但在短期内,继续在原处(或某处)托管 WP 博客但使用 Heroku 运行应用程序的最佳方式是什么?客户不希望博客位于子域中,而是出于 SEO 原因以及博客有访问量而保留在 mydomain/blog 中。我有两个想法:
在旧(非 Heroku)服务器上使用 rack_rewrite 或 refraction(或只是常规的旧 301 和 Apache mod_rewrite)将主 url 从旧站点重定向到 Heroku。在这种情况下,我可以让 Wordpress 博客在原地愉快地运行。我认为??如果我这样做,是否有理由选择其中一个选项(rack_rewrite、refraction 或 mod_rewrite)而不是其他选项?
将 DNS 信息切换为指向 Heroku 站点,然后使用 301 重定向从博客到旧站点。但是我必须在子域上获取旧的(非 Heroku)站点并使用某种重写规则,这样它看起来就不是子域。
这些方法中的任何一种都更可取,还是有另一种方法更容易我错过了?
最佳答案
唯一可行的长期/可扩展解决方案是将博客永久托管在子域或不同域上,并添加从 mydomain.com/blog 到新位置的重定向(即:blog.mydomain.com)。
您需要一台运行前端(如 mydomain.com 上的 Apache/nginx)的服务器来提供混合后端(如 Rails 和 Wordpress),而这在 Heroku 上是不可能的。
遗憾的是,这就是您需要作为顾问深入挖掘并就技术限制对您的客户采取严厉措施的地方。
您的客户为什么要迁移到 Heroku?您是否可以通过控制前端并可以混合使用不同后端的不同托管来实现更大的目标?
关于ruby-on-rails - 需要将 WP 博客与 Heroku 上的 Rails 应用程序链接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5130795/