4

「C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll」を追加して、IIS 6 でワイルドカード マッピングを設定し、「ファイルが存在することを確認する」がチェックされていないことを確認しました。

  • IIS の「websites」ディレクトリ
  • ウェブサイトで

ただし、iisreset の後、http://myserver/something.gifにアクセスすると、asp.net ではなく IIS 404 エラーが引き続き発生します。

私が逃したものはありますか?

精度:

  • これは、ASP.NET MVC を使用するためのものではありません
  • エラーをログに記録するためのhttpmoduleがあるため、iis 404カスタムエラーページは使用したくありません(これはトラフィックの少ない内部サイトであるため、ワイルドカードマッピングのパフォーマンスペナルティは問題になりません;))
4

3 に答える 3

4

gif ファイルの Web 構成に HTTP ハンドラーを追加する必要があります。

  <system.web>
    <httpHandlers>
      <add path="*.gif" verb="GET,HEAD" type="System.Web.StaticFileHandler" validate="true"/>
    </httpHandlers>
  </system.web>

これにより、.Net がファイルを処理するようになり、.Net エラーが発生します。

「/」アプリケーションでサーバー エラーが発生しました。

リソースが見つかりません。説明: HTTP 404。探しているリソース (またはその依存関係の 1 つ) は、削除されたか、名前が変更されたか、一時的に利用できない可能性があります。次の URL を見直して、スペルが正しいことを確認してください。

要求された URL: /test.gif


バージョン情報: Microsoft .NET Framework バージョン:2.0.50727.1433; ASP.NET バージョン:2.0.50727.1433

于 2008-09-19T16:53:39.253 に答える
0

カスタムエラーを使用してこれを行うことができます。Webサイトのプロパティのカスタムエラーに移動し、サイトのURLを指すように404を設定します。/404.aspxのように存在します。

aspnet_isapiでは、HttpModuleを使用してワイルドカードを処理する必要があります。http://urlrewriter.net/のように

于 2008-09-19T12:23:52.927 に答える
0

ASP.net ルーティング、URL 書き換え、または何らかの URL マッピング メカニズムを使用せずにワイルドカード マッピングを使用することはできません。

404 を実行する場合は、web.config -> カスタム エラーで構成する必要があります。
その後、必要に応じて他のページにリダイレクトできます。

3.5 SP1 の新機能では、RedirectMode を "responseRewrite" に設定して、カスタム エラー ページへのリダイレクトを回避し、ブラウザーの URL をそのままにしておくことができます。

それを行う他の方法は、global.aspx でエラーをキャッチしてリダイレクトすることです。さらに指示が必要な場合は、回答にコメントしてください。

于 2008-09-19T13:07:55.210 に答える