IIS7のカスタムリダイレクトは、メジスタ化されたシェアヘッダーの場合に合格しません。バグ?

StackOverflow https://stackoverflow.com/questions/4746768

質問

次の手法を使用して、存在しないすべてのURLをキャッチし、結果として生じるページを提供します。

<handlers>
  <add name="Foo" path="foo.aspx" verb="*" type="Foo.UrlHandler" preCondition="integratedMode,runtimeVersionv2.0"/>
</handlers>

<httpErrors errorMode="Custom">
  <remove statusCode="404"/>
  <remove statusCode="405"/>
  <error statusCode="404" path="/foo.aspx" responseMode="ExecuteURL"/>
  <error statusCode="405" path="/foo.aspx" responseMode="ExecuteURL"/>
</httpErrors>

ただし、どのリクエストヘッダーがに渡されているかを確認すると UrlHandler, 、私は1つを除くすべてを見ます:ifmodified-sibeのヘッダーは渡されません。私は他のすべてを見ます(キャッシュ制御、受け入れなど)。

これで何か経験がありましたか?この質問に関連しています。

IIS7の404 + httphandlerへのフォームの投稿:なぜすべての投稿データが欠落したのですか?

アップデート: : 私は一人じゃない - http://www.webmasterworld.com/microsoft_asp_net/3935439.htm

役に立ちましたか?

解決

解決した。誰かが同じ問題を抱えている場合に備えて:

プロジェクトを.NET MVCに変更しました(2ですが、1-3はすべて正常に行われるはずです)。キャッチオールへの単一のルートを作成しました:

public static void RegisterRoutes(RouteCollection routes)
{
  routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
  routes.MapRoute("All", "{*url}", new { controller = "CatchAll", action = "Index" });
}

次に、私のHTTPhandlerがかつて行ったように、単一のCatchallコントローラーを追加しました。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top