Question

J'ai configuré la page de gestionnaire 404 dans web.config, mais cela fonctionne UNIQUEMENT lorsque l'extension de l'URL est .aspx (ou autre, gérée par ASP.NET). Je sais que je peux configurer une page HTML statique dans les options de site Web, mais je souhaite créer une page. Existe-t-il des options pour affecter une page de gestionnaire ASPX à toutes les extensions de requête dans IIS?

Était-ce utile?

La solution

La question directe était de savoir s'il existe ou non des options permettant d'affecter le gestionnaire ASPX à toutes les extensions de requête: oui, il y en a. Je discuterai de la façon de le faire sous peu.

Tout d’abord, je pense que le "masqué" la question - la réponse que vous voulez vraiment - est de savoir s'il existe un moyen de rediriger toutes les erreurs 404 pour les pages autres qu'ASPX, ASMX, etc. si cela résout le problème que vous rencontrez.

Pour rediriger tous les serveurs 404 dans IIS 6, cliquez avec le bouton droit de la souris sur la racine de votre application Web (qu'il s'agisse de son propre site ou d'un répertoire virtuel sur le site principal), puis choisissez "Propriétés". À partir de là, choisissez l’option " Erreurs personnalisées " languette. Recherchez 404 dans la liste et remplacez-le par la redirection souhaitée.

Maintenant, si cela ne suffit pas - et j'espère vraiment que c'est le cas - vous pouvez exécuter chaque page avec le gestionnaire ASPX. Cependant, cela entraîne un coût assez élevé en termes d’efficacité - la diffusion de fichiers HTML / images bruts est considérablement plus rapide que tout ce qui est dynamique.

Pour ce faire, cliquez avec le bouton droit de la souris sur la racine de votre application Web et choisissez "Propriétés". Choisissez le "Répertoire personnel". languette. Cliquez sur " Configuration; " une nouvelle fenêtre apparaîtra. Copiez le chemin depuis l’un des serveurs de page ASP.NET, puis utilisez-le pour une mappe d’application générique.

N'oubliez pas, encore une fois, qu'il s'agit de la mauvaise réponse la plupart du temps. Cela aura un impact négatif sur votre performance et équivaut à utiliser une scie à chaîne pour tailler une dinde. Je recommande fortement la première option par rapport à celle-ci, si cela fonctionnera pour vous.

Autres conseils

Pour information:

C’est l’une des nombreuses choses intéressantes apportées par IIS7: toutes les pages sont routées via le gestionnaire de sorte que vous puissiez créer des fichiers 404 personnalisés et - utilement - une sécurité au niveau du répertoire et du fichier pour tout fichier (basé sur un fichier). sur les mêmes éléments web.config que pour les fichiers asp.net antérieurs à IIS7).

Donc théoriquement, utilisez II7 " est une réponse (sera "la" réponse dans le temps) - mais bien sûr ce n’est pas très pratique si vous n’hébergez pas / n’êtes pas hébergé sur W2k8 (ou supérieur).

web.config ne peut configurer des pages d'erreur que pour les pages contrôlées par son site Web. Si vous avez d'autres pages en dehors du domaine d'application de l'application ASP.Net, vous en configurez la gestion dans IIS. Il existe une option pour configurer la page 404, qui vous permet de la diriger vers votre page personnalisée.

La seule chose à laquelle je peux penser est de transmettre TOUTES les extensions à asp.net.

Ainsi, asp.net traite tous les types de fichiers et votre page d'erreur personnalisée fonctionnera.

Dans la configuration de l'application IIS, vous pouvez définir un mappage générique (". *") sur C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ aspnet_isapi.dll

  1. Vous pouvez configurer le mappage avec caractères génériques dans IIS (Configuration de l'application / Mappages / Mappages avec caractères génériques / - configurez simplement aspnet_isapi.dll en tant qu'exécutable et décochez la case Vérifier que le fichier existe) pour acheminer toutes les demandes entrantes vers votre application - afin que vous puissiez contrôler le comportement directement à partir de celui-ci.

  2. Il n'est pas nécessaire de configurer une page statique dans les paramètres de votre application IIS. À mon avis, vous devriez pouvoir configurer une URL valide (par exemple, /error_handler.aspx) à partir de votre application, qui sera utilisée comme page d'arrivée en cas d'erreur spécifique du serveur.

Dans IIS, vous pouvez définir une erreur personnalisée pour les erreurs 404 et la diriger vers une URL dans les propriétés du site.

Il montre un HTML statique par défaut C: \ WINDOWS \ help \ iisHelp \ common \ 404b.htm

Vous pouvez le remplacer par une URL relative sur votre site.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top