0

IIS7.5を使用しています。global.asax で基本的な URL 書き換えを使用し、.aspx ページの要求をインターセプトしてさまざまなテンプレート ページに渡す単純な ASP.NET Web フォーム サイトがあります。

たとえば、http://www.mysite.com/default.aspxをリクエストできます。global.asax では、これが「真の」ページとして存在するかどうかを最初に確認します。そうでない場合は、データ ストアに移動して詳細を取得し、template.aspx?page=default (または同様のもの) にリダイレクトします。

これはすべてうまくいきます。ただし、1 つ問題があります。http://www.mysite.com/default.aspxを参照すると、期待どおりのページが表示されます。web.config または IIS で既定のドキュメントを default.aspx に設定した場合、http://www.mysite.com/を参照します。ディレクトリの参照が許可されていないというエラーが表示されます。

この場合、IIS が既定のドキュメントを無視するのはなぜですか? ファイル「default.aspx」が存在しないことが原因のようです。この場合、問題の回避策はありますか?

編集

はっきりさせておきますが、私は IIS システムを制御することはできず、基本的なホスティングを行っていますが、変更を要求することはできるので、URL 書き換えモジュールを使用することはできません。

4

1 に答える 1

1

状況の回避策: Index.aspx を既定のドキュメントとして物理ファイルとして作成し、ユーザーを Default.aspx URL にリダイレクトします。したがって、ユーザーが mysite.com/ にアクセスすると、index.aspx が起動し、default.aspx に強制的にリダイレクトされます。これにより、テンプレートのリダイレクト ロジックが処理されます。

于 2012-07-24T20:05:48.653 に答える