4

IIS8を搭載した新しいWindowsServer2012マシンを使用しています。ログインページにWindows認証を使用するアプリケーションをインストールしました。アプリケーションは.NET2.0を使用します(構成するのは少し面倒でしたが、それは別の話です)URLでログインページを指定すると、アプリケーションは完全に機能します。このログインページは、ユーザーを確認し、登録されている場合は自動的にログインするアプリケーションのデフォルトドキュメントです。登録されていない場合は、ローカルアプリケーションのクレデンシャルを入力できるForms認証ログインページにリダイレクトされます。

私が抱えている問題は、ログインページを直接参照した場合にのみログインページが機能することです。つまり、URLに名前を入力します。IIsのデフォルトドキュメントを使用すると、404エラーが返されます。

表面上はIIS8と同じように見えるIIS7またはIIS7.5に関する他の記事をここで見ましたが、これらの問題の解決策では問題は解決しません。

アプリケーションプールは現在Classicとして構成されており(Integratedも試しています)、アプリケーションアカウントとしてNetworkServiceを使用し、32ビットが有効になっています。.NETFrameworkv2.0用に構成されています。デフォルトのドキュメントは、サイトとアプリケーションの仮想ディレクトリの両方で有効になっています。

4

3 に答える 3

1

これにより、私の状況に対する答えが得られました。実際、デフォルトのドキュメントの順序を変更すると、リストの一番上に移動した後に index.html が機能するようになりました。リストをこれ以上切り詰める必要はありませんでした。

ただし、エラーが発生した理由は、以前は index.aspx が一番上にあり、実際に web サイトに index.aspx ファイルがあったためです。しかし、ASP.Net がまだサーバーにインストールされていないことがわかりました。そのため、サーバーは index.aspx (実際にはそこにありました) で非常に誤解を招く 404 エラーを返しました。 .

于 2013-09-11T18:19:34.153 に答える
1

私はこの問題を解決したと思います。IIS 8 は、既定のドキュメントのリスト内のドキュメントの順序を尊重していないようで、リストの最後のドキュメントとして表示される default.aspx を常に選択していました。
メイン アプリケーションに default.aspx ページがありません。メインアプリケーションに必要な唯一のドキュメントが表示されるように、デフォルトドキュメントのリストのすべてのエントリを削除すると、正しく機能しました。私のアプリケーションには、さまざまなランディング ページを使用するサブアプリケーションが多数あるため、これは少し面倒です。そのうちの 1 つは default.aspx を使用します。通常は最上位ですべてを指定し、サブアプリケーションで継承を使用していましたが、各サブアプリケーションを個別に構成する必要があるようです。

于 2012-10-16T08:49:27.590 に答える
0

web.config でデフォルトのドキュメントを指定できます。web.config で既定のドキュメントを指定すると、機能するはずです。

于 2013-03-09T21:24:54.890 に答える