0

私のサイトでは、壊れたリンクによってデフォルトのページが見つからないというエラーがスローされます。web.config で CustomErrors をオンにし、404 エラーをカスタム メッセージに転送しました。

私の開発ボックスでは機能しますが、ホストでは機能しません。

何か案は?ASP.NET MVC 1.0、SQL 2005、IIS 6 ホスト (IIS7 だったらいいのにと思いますが、サイトを移動するために料金を請求されます)。

前もって感謝します!

4

2 に答える 2

1

CustomErrorsは、.NETが実際に処理するように割り当てられているファイルに対してのみ発生します。ローカルのVisualStudioでは、これはすべてをカバーしますが、IIS6では、実際に.NETに直接関連するファイル(.aspx、.ashx、.asmxなど)のみをカバーします。つまり、すべてに必要な場合は、ISAPIフィルターを追加して、すべてのファイルを.NETで処理するようにバインドする必要があります。これにはオーバーヘッドが伴い、グローバルハンドラーまたはHttpModuleが定義されている場合に予期しない動作が発生する可能性があります。

このページは、ワイルドカードバインディングを設定するのに役立ちます。

.NETではなくIIS6構成にすることを検討しましたか?これは、IIS6で.NETのCustomErrorsを使用するよりも簡単な場合があります。

補足として、IIS7統合パイプラインモードにはこれらの問題はなく、すべてのファイルはデフォルトで.NETによって処理されます。

于 2009-11-22T01:26:38.730 に答える
1

machine.conf設定がweb.config設定を上書きしている可能性があります。ホストに連絡して、CustomErrorsタグを上書きするかどうかを尋ねましたか?

于 2009-11-22T01:31:52.507 に答える