3

私はウェブサイトを構築しましたが、顧客はそれを3つの異なるドメインに分割したいと考えています。これを行うための最良の方法は何ですか?これは私がこれまでに持っているものです。

  • c:/website1/はwww.website1.comを指します
  • c:/ website1 /vd1/はwww.website2.comを指します
  • c:/ website1 /vd2/はwww.website3.comを指します

私が使用しているウェブホストは次のようにそれを行いましたが、今ではApp_codeフォルダーが表示されていないように見えるエラーがたくさん発生しています。多くの変更を加える必要がありますか?これはロケーション参照にどのように影響しますか?

4

2 に答える 2

3

問題は、サイトを構成したとおりに構成すると、www.website2.comとwww.website3.comが別々のアプリケーションになり、/vd1/または/vd2/の外部に存在するコンテンツやコードを表示できないことです。それぞれ(そうです、それはc:\website1\の/app_code/フォルダーと、そこにある可能性のある画像、css、ユーザーコントロール、マスターページなどです)。

共有しているのが/app_code/フォルダー内のロジックだけである場合、それをVisual Studioの新しいプロジェクトにコピーできますか?理想的には、新しいクラスライブラリプロジェクトを作成し、そこに.csファイルを含めるだけです。それを.dllファイルにコンパイルし、Webサイトプロジェクトで、そのライブラリへの参照を追加します。

ただし、これは、ユーザーコントロール、または使用する可能性のあるその他の一般的なページ(ログイン、登録など)ではうまく機能しません。

次に、各仮想ディレクトリに/ bin /フォルダーを作成し、ライブラリもそこにコピーするようにします。www.website1.comでもアプリケーションとして設定するようにウェブホストに依頼する必要があるかもしれません。

コメントに返信するために編集

そうです、あなたはおそらくあなたの前にかなりの仕事をしているでしょう、しかしあなたがこのようなサイトの一部を異なるドメインに分割している理由を知らなけれ、私は実際にその方法についての解決策を提供することはできませんブライアンが以下で指摘しているように、複数のドメイン(ホストヘッダーと呼ばれる)をIISの単一のサイトにマップできるため、3つすべてが同じルートを指すようにすることができます。

別のルックアンドフィールを探している場合は、System.Web.UI.Pageから継承し、代わりにページを継承するコアの「ベースページ」タイプクラスを使用することを検討してください。次に、URLのServerNameに基づいてテンプレートを交換できます。たとえば、MasterPagesを使用している場合は、OnPreInitメソッドでこれを行う必要があります。

また、必要に応じて、ユーザーがサイトの正しいセクションに確実に移動するように、そこにロジックを追加することもできます。

于 2010-03-08T22:39:12.383 に答える
0

複数のドメインがあるからといって、個別のアプリケーションが必要なわけではありません。これらの仮想ディレクトリのポイントは何ですか?IISは、同じアプリに対して複数のドメインを喜んで提供します。

于 2010-03-09T01:43:56.973 に答える