我有一个客户想要将他的Rails应用程序迁移到Heroku。 然而,客户端也有一个博客与他在WordPress上运行的域相关联。 目前,WordPress博客与Rails应用程序一起运行愉快,但一旦我们迁移到Heroku,显然是不可能的。
该应用程序的url就像http://mydomain.com ,博客的url就像http:// mydomain / blog 。
我意识到最好的长期解决scheme是用Toto或Jekyll这样的Rails格式来重做博客。 但在短期内,继续托pipeWP博客的最佳方式是在哪里(或某处)使用Heroku来运行应用程序? 客户不希望博客是在一个子域,但留在mydomain /博客出于search引擎优化的原因,也有stream量到博客。 我有两个想法:
在旧的(非Heroku)服务器上使用rack_rewrite或折射(或者只是一个普通的老式的301和Apache mod_rewrite)来将主站点从旧站点redirect到Heroku。 在这种情况下,我可以离开Wordpress博客愉快地运行。 我认为?? 如果我这样做,是否有理由select其中一个选项(rack_rewrite,refraction或mod_rewrite)?
切换DNS信息指向Heroku站点,然后使用从博客301redirect到旧站点。 但是,我必须得到一个子域的旧(非Heroku)网站,并使用某种重写规则,所以它看起来不是一个子域。
这两种方法中的哪一种都更可取,还是有另外一种方法可以做到这一点,我更容易失踪?
知道这是一个阻碍,我会考虑做一个像Apache反向代理一样的东西 – 回传给Heroku。 Heroku上的应用程序应该有一个像“yourapp.heroku.com”的名称,你可以发送stream量到没有问题。
看看这个文档的指针。
就个人而言,我会为/ blog设置301重写,并将其发送到像blog.domain.com这样的子域。 提供更多的灵活性,以决定什么服务器上运行你的博客,说客户要使用tumblr或Wordpress.com的路上。 也因为它301redirect任何现有的链接将仍然工作,search引擎优化不应该被影响。
如果他们真的希望它成为一个子文件夹,你可以做一个迈克尔build议,如果你当前的主机/安装程序支持mod_proxy这将工作。 或者你可以设置一个这样的重写规则(我们的托pipe服务客户端使用类似的东西)
RewriteEngine on RewriteBase / RewriteRule ^blog(.*) - [L] RewriteRule ^(.*)$ http://yourapp.heroku.com/$1 [NC,R=302]