2016-12-01 9 views
6

「user1.example-domain.com」と「user2.example-domain.com」のように、ユーザーのランディングページが異なるAngular 2アプリを作成しようとしていますが、「ホームページ」とは無関係です。angular2のサブドメインを使用してルーティングする方法は?

私の質問:

  1. どのように私は角2を使用してそれを行うだろうか?
  2. ローカルマシンでどのようにテストできますか? "user1.localhost:port"で十分ですか?

私はそうのような静的ルーティングを使用して試してみた:

{path: 'test.localhost:4200/generic-link1', component: GenericLink1Component} 

私はそれを行うことができることを知っている、それはタンブラーで行わ見てきました。

+1

ドメインからサブドメインへの[Html5履歴Api - pushState]の可能な複製](http://stackoverflow.com/questions/14807921/html5-history-api-pushstate-from-a-domain-to-a-サブドメイン) – estus

+0

角度アプリはSPAで、角度ルータはpushStateを使用してパスに従ってURLを変更します。あなたが見たものは何でも、あなたはそれ以外のものを見たことがあります。 – estus

+0

ちょうど明確にするために、私は角度2でそれを見たことがありません(tumblrの開発方法論はありません)。私は概念が存在することを知っている:http://skittenthekitten.tumblr.com/あなたは特定のユーザー "user.tumblr.com"(私はskittenthekitten彼が誰でも昇進していない:)のサブドメインの使用を見ることができます) – Hahn

答えて

3

これは簡単に行うことができますが、Angular(または他のJavaScriptルーターについては問題ありません)ではできません。サブドメインにルーティングするには、サーバーが手助けする必要があります。サブドメインとしてuser1user2を設定してから、デフォルト文書でルールに基づいてどちらかにルーティングする必要があります。

角型アプリはいずれのアドレスにも存在するため、http://user1.example.com/index.htmlに1つ、http://user2.example.comに1つあります。同様のアプリでも可能です。

すべての角度のソリューションの場合は、スキームをhttp://example.com/user1に変更するだけです。

後者のURLスキームがあなたに適しているもう一つの理由があります。あなたが自己ホストするなら、あなたの心のコンテンツにサブドメインを作成することができます。しかし、共有ホスティングを使用している場合は、使用できるサブドメインの数に制限される可能性が非常に高くなります。サブドメインの数は2つに限られる可能性があります。

関連する問題