0

私のアプリケーションには、わかりやすい URL を処理するためのカスタム HTTPModule があります。そして、これが web.config ファイルのモジュール セクションです。

<modules>
<remove name="ScriptModule"/>
<remove name="Session"/>
<add name="Session" type="System.Web.SessionState.SessionStateModule" preCondition=""/>
<add name="NHibernateSessionModule" type="MyApp.Core.NHibernateBase.NHibernateSessionModule"/>
<add name="ApplicationModule" type="MyApp.ApplicationModule"/>
<add name="URLDispatcher" type="MyApp.URLDispatcher"/>
<add name="ScriptModule" preCondition="managedHandler" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>
</modules>

このモジュールには、エラー ページを処理するロジックもあります。私が今抱えている問題は、URLが「。」で終わるリクエストの場合です。サーバーに送信されると、モジュールはトリガーされず、ユーザーにはデフォルトの asp.net 404 ページが表示されます。

何が起こっているのか、ユーザーをカスタム 404 ページにリダイレクトする方法がわかりません。

これに関連する別の質問を見つけました。提供された解決策は、web.config ファイルで .Net 4 固有の構成タグの 1 つを使用することでした。現時点では、.Net 4 に移行する立場にありません。そのため、別のソリューションを探しています。助言がありますか?

4

1 に答える 1

0

わかりやすい URL に http リダイレクトを使用していると思います。

アプリケーションが IIS7 の下にある場合は、次の機能がインストールされていることを確認してください。

コントロール パネル --> プログラム --> Windows の機能を無効にする --> World wide web サービス --> HTTP 共通機能 --> HTTP リダイレクト

そして、カスタム http モジュールを構成する必要があります。

<system.web>
    <httpModules>
        <add name="CustomModule" type="NameSpace.ClassName, AssemblyName" />
    </httpModules>
</system.web>

だけでなく

<system.webServer>
    <modules runAllManagedModulesForAllRequests="true">
        <add name="CustomHttpModule" type="NameSpace.ClassName" />
    </modules>
</system.webServer>
于 2012-08-09T01:59:11.817 に答える