3

RailsアプリをHerokuに移行したいクライアントがいます。ただし、クライアントには、WordPressで実行されるドメインに関連付けられたブログもあります。現在、WordPressブログはRailsアプリと一緒にうまく実行されていますが、Herokuに移行すると、それは明らかに不可能になります。

アプリのURLはhttp://mydomain.comのようなもので、ブログのURLはhttp:// mydomain/blogのようなものです。

長期的な最善の解決策は、TotoやJekyllのようなRails形式でブログをやり直すことだと思います。しかし、短期的には、WPブログを現在の場所(またはどこか)でホストし続け、Herokuを使用してアプリを実行するための最良の方法は何ですか?クライアントは、ブログがサブドメインにあることを望んでいませんが、SEOの理由と、ブログへのトラフィックがあるため、mydomain/blogにとどまります。私には2つのアイデアがあります:

  1. 古い(非Heroku)サーバーでrack_rewriteまたはrefraction(または通常の古い301とApache mod_rewrite)を使用して、メインURLを古いサイトからHerokuにリダイレクトします。この場合、Wordpressブログをそのままにしておくことができます。おもう??このようにした場合、他のオプションよりもこれらのオプション(rack_rewrite、refraction、またはmod_rewrite)の1つを選択する理由はありますか?

  2. DNS情報をHerokuサイトを指すように切り替えてから、ブログから古いサイトへの301リダイレクトを使用します。ただし、サブドメインで古い(Heroku以外の)サイトを取得し、とにかく何らかの書き換えルールを使用して、サブドメインではないように見せかける必要があります。

これらのアプローチのいずれかが望ましいですか、それとも私が見逃しているより簡単な別の方法がありますか?

4

3 に答える 3

1

別の解決策は、heroku をhttp://app.example.comに、Wordpress をhttp://example.comに設定することです。WordPress のランディング ページを root に配置し、ブログを /blog に配置します。ユーザーがランディング ページで「ログイン」または「サインアップ」をクリックすると、heroku アプリにリンクされます。

これは SEO の観点からは最適ですが、DNS の知識が必要です。

于 2011-11-30T12:08:56.053 に答える
1

長期的かつスケーラブルな唯一の解決策は、サブドメインまたは別のドメインでブログを永続的にホストし、mydomain.com/blog から新しい場所 (例: blog.mydomain.com) へのリダイレクトを追加することです。

Rails や Wordpress などの混合バックエンドを提供するには、mydomain.com で Apache/nginx などのフロントエンドを実行する単一のサーバーが必要ですが、Heroku ではそれは不可能です。

悲しいことに、これはコンサルタントとして掘り下げ、技術的な制限についてクライアントに厳しく対応する必要があるところです。

クライアントが Heroku に移行したい理由は何ですか? フロントエンドを制御し、さまざまなバックエンドを混在させることができるさまざまなホスティングで達成できる、より大きな目標はありますか?

于 2011-02-27T18:01:19.397 に答える
1

ウィンフィールドの答えは正しくありません。ラック サーバーで (Heroku 経由で) リバース プロキシを実行して、どこにいてもブログにアクセスできます。

https://github.com/jaswope/rack-reverse-proxyを参照してください

gem をインストールし、ドキュメントに従ってアプリをセットアップすると、./config.ruファイルは次のようになります。

use Rack::ReverseProxy do
  reverse_proxy(/^\/blog(\/.*)$/,
    'http://<app-name>.herokuapp.com$1',
    opts = {:preserve_host => true})
end
于 2013-06-24T15:51:50.427 に答える