2

現在、ホストされている多くの SAAS アプリケーションがユーザーにサブドメインを提供しているのを目にします。たとえば、アプリ (たとえば、プロジェクト管理ツール) がhttp://myapp.comであり、顧客が次のようなサブドメインを持つことができる場合などです 。

http://customer1.myapp.comhttp://customer2.myapp.com、およびこれらの URL は、ユーザーがアプリケーションに登録するときに予約できます。

私は再販業者のホスティング プランを持っており、同じことを望んでいます。私のホスティング プランではワイルドカード サブドメインが設定されており、技術的にはメイン ドメインの下に任意のサブドメインを作成できます。しかし、私の質問は

ルビー/レール付き

  • 顧客が登録時までにサブドメインを選択できるようにする方法

  • このような要件に対する標準的なアプローチは何ですか

Rails 3.xx を使用する予定です

前もって感謝します

4

1 に答える 1

0

私は最近、同様のことをしました。私がしたことは、サーバーを構成して、サブドメインを受け入れてからリソース URL にリダイレクトすることでした。あなたの場合、おそらくそのサブドメイン要求を Rails サーバーにルーティングするだけです。nginx を使用している場合は、次のようになります。

server {
    listen       80;
    server_name  dev.yoursite.com *.dev.yoursite.com;
    root /path_to_your_site/public;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    rails_env development;
}

次に、アプリでサブドメイン制約を使用してルートを作成できます。これは、の行に沿ったものであり、一致するユーザーを見つけるためにget '/' => 'users', :constraints => { :subdomain => /.+/ }使用するコントローラー アクションでそのサブドメインを処理します。request.subdomain

ローカル環境では、テスト用にすべてのサブドメインをリストするか、lvh.me代わりにサーバー構成で使用することに注意してください。lvh.me の代わりに独自のドメインを使用する場合は、hosts ファイルにそのドメインとサブドメインを追加することを忘れないでください。また、prod の場合は、DNS にワイルドカード サブドメイン レコードを追加することを忘れないでください。

于 2015-03-11T17:56:49.390 に答える