我有一个现有的 Rails 3.1rc4 应用程序部署到 Bamboo 堆栈上的 heroku。我想升级到 3.1rc5 并使用新的 Cedar 堆栈。由于我不能使用heroku stack:migrate
,我必须创建一个新堆栈并推送到该堆栈。问题是我当前的应用程序位于appname.heroku.com
. 如果我只是删除这个应用程序,然后使用 Cedar 重新创建它,那么它将变成appname.herokuapp.com
. 我如何在仍然保留的同时搬到 Cedar appname.heroku.com
?
3 回答
很简单,只需将您的旧应用重命名为类似的名称,appnameold
然后使用heroku create appname --stack cedar
. Heroku 会自动处理重定向,您之前的链接不应中断。如果您想验证这一点,您可以谷歌搜索herokuapp.com
网站名称并对其进行测试。
如果您的问题是如何分别拥有两个子域,或者您只是喜欢appname.heroku.com
over的外观,那么您就不appname.herokuapp.com
走运了。
我今天刚刚迁移到 cedar 堆栈(通过 Web 界面删除应用程序并使用 --stack cedar 重新创建它),很高兴发现重定向现在是自动的,来自http://devcenter.heroku。 com/articles/error-codes#h16__redirect_to_herokuappcom:
H16 - 重定向到 herokuapp.com
Cedar 的新 HTTP 路由堆栈上的应用程序使用 herokuapp.com 域。在其已弃用的 heroku.com 域中向 Cedar 应用程序发出的请求将被重定向到正确的 herokuapp.com 地址,并且此重定向消息将插入到应用程序的日志中。
你不能 - Cedar 应用程序使用 herokuapp.com - 但你可以在 appname.heroku.com 上放置一个 sinatra 应用程序,以重定向到 appname.herokuapp.com 或者在你现有的应用程序中?或者使用自定义域?