ruby-on-rails - 需要将 WP 博客与 Heroku 上的 Rails 应用程序链接起来

标签 ruby-on-rails mod-rewrite heroku rack-rewrite

我有一个客户想要将他的 Rails 应用程序迁移到 Heroku。然而,客户还有一个与他的域关联的博客,该博客在 WordPress 上运行。目前,WordPress 博客与 Rails 应用程序一起愉快地运行,但是一旦我们迁移到 Heroku,这显然是不可能的。

应用程序的 url 类似于 http://mydomain.com ,博客的网址类似于 http://mydomain/blog .

我意识到最好的长期解决方案是以 Toto 或 Jekyll 等 Rails 格式重做博客。但在短期内,继续在原处(或某处)托管 WP 博客但使用 Heroku 运行应用程序的最佳方式是什么?客户不希望博客位于子域中,而是出于 SEO 原因以及博客有访问量而保留在 mydomain/blog 中。我有两个想法:

  1. 在旧(非 Heroku)服务器上使用 rack_rewrite 或 refraction(或只是常规的旧 301 和 Apache mod_rewrite)将主 url 从旧​​站点重定向到 Heroku。在这种情况下,我可以让 Wordpress 博客在原地愉快地运行。我认为??如果我这样做,是否有理由选择其中一个选项(rack_rewrite、refraction 或 mod_rewrite)而不是其他选项?

  2. 将 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/

相关文章:

apache - .htaccess-以静默方式将所有内容重写/重定向到内部子文件夹

ruby-on-rails - 如何清除长时间运行的 rake 任务的内存以防止超出 Heroku 的内存配额?

ruby-on-rails - 使用 Ruby on Rails 的 PostgreSQL 用户

mysql - 编写一个 Rails 事件记录查询来通过与两个表关联来获取所有项目?

php - 在 Apache RewriteRule 指令中设置环境变量时,是什么导致变量名称以 "REDIRECT_"为前缀?

apache - .htaccess 模板

python - Heroku Local 未将“gunicorn”识别为内部或外部命令

Java Web 应用程序部署 Heroku

mysql - 如何使用 mysql 每天处理数百万条记录

ruby-on-rails - "cafe"的 Rails 脚手架多元化不正确