web-dev-qa-db-ja.com

iis7のデフォルトドキュメントにクエリ文字列を追加するにはどうすればよいですか?

従来のaspWebサイトを実行するサーバーをiis5からiis7にアップグレードしています

古いサーバーには、デフォルトのドキュメントでクエリ文字列を渡すサイトが設定されています。
例:CreateConnection.asp?CompanyID = 1

(つまり、異なるドメイン名はすべて同じフォルダーを指し、デフォルトのドキュメントはクエリ文字列で会社を渡します。)

IIS 7は、デフォルトのドキュメントを指定するときにクエリ文字列を使用できないと言っています。

これを回避するにはどうすればよいですか?既存のクラシックASPサイトは、この方法を使用して機能します。

[〜#〜]編集[〜#〜]

一部のサイトでは、デフォルトのドキュメントをweb.configファイルに直接設定することを推奨しています(これにより、クエリ文字列を指定できるようになります)が、それについて次の質問があります。

同じ場所を指す仮想ディレクトリがたくさんあるので、VDごとにweb.configファイルがありますか?もしそうなら、これらはどこにありますか?

編集2

スコットの答えに続いて、私はここで良い記事を見つけました: iis7構成委任を理解する

編集3

Webサーバー上の単一の物理フォルダーを指す複数のサイト(つまり、マルチテナントアプリ)でこれを機能させるのは非常に困難でした。

それがあなたが求めているものである場合は、この関連する質問を参照してください: web.configで複数のパス値のデフォルトのWebサイトを設定する

2
Nils

そうです、デフォルトのドキュメントにクエリ文字列を含める機能はIIS6にはありましたが、IIS7にはもうありません。

私が提案するのは、URL書き換えを使用して、クエリ文字列がまだ設定されていないときにデフォルトのドキュメントに追加するか、CreateConnection.aspのコードにデフォルトを処理するロジックがあることです。そうすることの利点は、誰かがyoursite.com/CreateConnection.aspにアクセスでき、それがデフォルトのドキュメントであろうと直接リンクであろうと機能することを意味します。一部の検索エンジンリンクは、クエリ文字列なしでCreateConnection.aspにリンクすると思われます。

2