La configuration personnalisée ASP page 404 avec redirection de site web IIS7

Nous sommes migrer un site web à partir d'IIS6 à IIS7, mais éprouvent certaines difficultés dans la mise en place de la page d'erreur 404. Nos 404-errorpage fonctionne comme ceci:

  • Personnalisé ASP-page vérifie l'URL à l'encontre d'une courte liste de "spécial" de l'Url (par exemple http://example.com/limited-offers).
  • Si l'URL est connue, il redirige vers l'URL de la page.
  • Sinon, le visiteur est redirigé vers une statique errorpage avec un 404-statuscode.

Avec IIS6 cela a fonctionné comme annoncé, mais avec IIS7 certaines choses ont changé. IIS7 sera toujours afficher la configuration de la errorpage lorsqu'il rencontre un statuscode pour qui un errorpage est défini. Dans le cas de nos statique errorpage avec 404-statuscode, cela signifie que IIS7 va exécuter la coutume ASP-page à nouveau. Cela mène à l'infini de la redirection.

Nous avons découvert que ce problème peut être contourné par l'ajout d'un paramètre dans le Web.Config

<system.webServer>
  <httpErrors existingResponse="PassThrough" />
</system.webServer>

Cependant, après l'ajout de cette mesure ASP-page refuse de redirection. Après vérification avec un violon, il semble que IIS7 les forces de l'404 statuscode, écrasement de nos redirection 302.

Peut-on recommander une autre approche pour résoudre notre problème?

OriginalL'auteur Arjen | 2011-05-16