1

ASP.NET でサブドメインを作成するにはどうすればよいですか? ホームページ (Home.aspx) にリンクがほとんどない 例: Link1 と Link2

2 つのサブドメイン link1.example.com と link2.example.com を作成し、それらにリダイレクトする必要があります。ナビゲーションには Response.Redirect を使用します。

質問: ファイルは別のディレクトリなどに存在する必要がありますか? この例を localhost でテストまたはシミュレートできますか?

この初心者の ASP.NET プログラマーを助けていただければ幸いです。

4

2 に答える 2

4

これらのリダイレクトで実際に達成しようとしていることに応じて、これが役立つ場合があります。単一の Web アプリケーションから複数のサブドメインを処理しようとしているだけの場合は、次のような ISAPI 書き換えツールを使用して、単一の Web アプリケーションをホストする IIS ベースのサーバーを使用して、ASP.NET の外部でこのサブドメインの動作を完全に偽装できます。 Ionics Isapi Rewrite Filter ( http://www.codeplex.com/IIRF )、ホスティング環境に ISAPI フィルターを追加できることを前提としています。

ISAPI フィルターは、ASP.NET が要求を認識する前に処理されるため、1 つの Web アプリケーションから多数のサブドメイン (および完全なドメイン) をホストできます。残念ながら、ASP.NET 組み込み Web サーバー (Cassini) でこのタイプのリダイレクトをエミュレートすることはできません。これは、ISAPI を使用していないためです。この方法では、最終的なサブドメインの機能をテストできますが、最終的なリダイレクトの場所でのみ可能です。Windows のホスト ファイルではポートを使用したルールが許可されていないため、Cassini で元のドメイン マップを実際にテストすることはできません。

1 つのアプリケーションに、必要なすべてのサブドメインの機能を処理するページを設定する場合は、サブドメインの要求を 1 つのアプリケーションの目的の場所にリダイレクトするだけです。これは、新しいサブドメインのすべてのロジックを処理する単一のアプリケーション内のページのフォルダーと同じくらい簡単です。さまざまなサブドメインのリクエストを単一の Web プロジェクトの最終的な場所に送信する Ionics の書き換えルールの例を次に示します。

RewriteCond %{HTTP_Host} ^(?~new-sub-domain.yourdomain.com).*$ [I]
RewriteRule ^(.*)$ http://www.yourdomain.com/new-sub-domain$1 [I,R=302]
RewriteCond %{HTTP_Host} ^(?~another-new-sub-domain.yourdomain.com).*$ [I]
RewriteRule ^(.*)$ http://www.yourdomain.com/another-new-sub-domain$1 [I,R=302]
# '#' is a comment marker in the rewrite files
# [I] at the end means case-insensitive
# [L] at the end  means last rule (sending the request on but hiding the forward from the end user)
# [R] at the end  means an official redirect and can be used instead of [L] (the end user will then see a new request, such as a 301 redirect using [R=301])

これにより、新しいサブドメインへのすべてのリクエストが、既存のプロジェクト内のディレクトリ (それぞれ /new-sub-domain/ および /another-new-sub-domain/) に送信されます。これは、そのプロジェクト内の任意の場所に送信するように変更できます。

このアプローチでは、1 つのアプリケーションから複数のサブドメイン (場合によっては複数のフル ドメイン) をホストできますが、ASP.NET Web サーバー (Cassini) 内のリダイレクト/書き換えの制限により、これらの最終的な機能のテストに制限されたままになります。場所 (例: "/new-sub-domain/")。

于 2008-12-29T15:21:43.653 に答える
0

ASP.NET Web サイトからではなく、ドメイン プロバイダー (ドメイン名を購入した場所) からドメインとサブドメインを設定する必要があります。

開発Web サーバーとしてhttp://localhostにしかアクセスできないため、ローカルでこれをテストすることはできません。

于 2008-12-29T09:20:26.033 に答える