問題に直面しています: ASP.Net で URL 書き換えを行いたい
ローカル設定を使用すると完全に機能しますが、サーバー上では期待どおりに機能しません。
ローカル
/unavailable-file.aspx への要求は Application_Error (Global.asax.cs) で適切に取得され、その後 /404.aspx にリダイレクトされます /unavailable-random-folder またはその他のファイルへの要求は Application_Error (Global. asax.cs) にリダイレクトされ、/404.aspx にリダイレクトされます。
リモート .aspx ファイルへのすべての要求は Application_Error でキャッチされます 他のすべての要求 (.jpg、フォルダーなど) はまったくキャッチされず、デフォルトの 404 ページ エラーにスローされます
私の問題:
昨日、新しい Web サイトをサーバーにインストールしていましたが、ローカル コンピューター (Visual Studio を使用) で毎回 (要求されたすべてのファイルまたはフォルダーに対して) Application_BeginRequest がサーバー上でまったく発生していないことがわかりました。HttpModule を作成する必要がありましたが、イベントが正常に発生するようになりました...ただし、.aspx 以外のリクエストでは発生しません。
すべてが URL にバインドされているようです。.aspx で終わる場合は正しく管理されており、そうでない場合はまったく管理されていません。
非aspxページでもすべてのApplication_BeginRequestをキャッチするにはどうすればよいですか?
私の web.config には、404 エラーを私のページに強制しようとするものがあります。
<customErrors mode="On"
defaultRedirect="404.aspx">
<error statusCode="404" redirect="404.aspx"/>
</customErrors>
しかし、私が言ったように、.aspx で終わる要求でない限り、リダイレクトされず、デフォルトの ASP.Net 404 エラーが発生します。
(私のホストは「信頼できるサイト」であり、マネージャー(共有ホスティング)内の404.aspxページを指す404エラーの設定がありますが、何も変更されません)
すべてがローカルモードのように機能することを願っています。
その問題を解決するためのヒントがあれば教えてください。