J'ai configuré une page personnalisée 404 custom404.aspx qui renvoie correctement une erreur "404 Not Found", mais la page inexistante qui a été initialement demandé renvoie un état "302 trouvé". Donc quand je teste thispagedoesnotexist.aspx, il renvoie un "302 Found" puis le custom404.aspx charge et retourne un état "404 Not Found". Je veux m'assurer que les moteurs de recherche comprennent que la page demandée n'existe pas et qu'elle ne devrait apparaître dans aucun résultat de recherche. Est-ce que cette configuration est correcte?Pourquoi une page Non-existante renvoie-t-elle le statut 302 lors de l'utilisation d'une page 404 personnalisée dans asp.net
Répondre
En termes simples ...
À titre d'exemple, l'utilisation:
/path_to_error_page.html
... et non ...
http://www.example.com/path_to_error_page.html
La raison étant que les interprète serveur la demande initiale génère alors une redirection vers le 404 afin que votre client reçoive effectivement 2 réponses. Les chemins relatifs ne produisent pas de redirection mais un transfert de serveur interne entraîne seulement 1 réponse, celle que vous voulez !!
Cela devrait résoudre votre problème.
Pour répondre à la question posée, voici comment les erreurs personnalisées fonctionnent dans ASP.NET. J'ai vu des exemples (bien que je n'en ai pas un) où les gens ont utilisé HttpModules pour intercepter les erreurs, et servir une page d'erreur personnalisée aux utilisateurs qui ne semblent pas être des bots, et une réponse aux utilisateurs qui semblent être des bots. Dans une direction différente, je ne suis pas sûr que les bots suivent régulièrement les 302 réponses de toute façon. Plus pertinent peut-être, est-ce vraiment si grave que votre page d'erreur (en supposant qu'elle soit utilisable) apparaisse dans les résultats de recherche? Au moins l'utilisateur a un lien vers votre site - c'est mieux que de voir apparaître le site de votre concurrent ...
Je pense que l'obtention de pages d'erreur telles que la coutume 404 et 500 indexées par les araignées est une mauvaise chose.Google par exemple va discréditer les sites qui ont trop de messages d'erreur, – user123212
En fait, il fonctionne très probablement exactement comme il est configuré dans votre web.config. En fonction du serveur Web que vous utilisez (IIS 6/7) et de la manière dont vous avez configuré la page personnalisée 404, il s'agit essentiellement de la différence entre rediriger vers la page d'erreur personnalisée et l'exécuter!
Actuellement, vous avez configuré asp.net/IIS pour rediriger vers la page d'erreur. Modifiez les paramètres pour exécuter la page et vous obtiendrez exactement ce que vous cherchez :)
Pourriez-vous être plus précis? Lorsque les pages d'erreur personnalisées sont définies dans la boîte de dialogue Gestionnaire IIS/Paramètres ASP, ces modifications sont appliquées au fichier web.config. Suggérez-vous d'intercepter l'erreur dans global.asax et d'utiliser Server.Execute ("/ path-to-error-page") et de désactiver les messages d'erreur personnalisés 500 dans web.config? – user123212
J'ai trouvé une solution pour cela:
dans votre web.config mettre « redirectMode = ResponseRewrite »:
<customErrors mode="On" redirectMode="ResponseRewrite" defaultRedirect="~/errors/GeneralError.aspx">
<error statusCode="404" redirect="~/errors/PageNotFound.aspx" />
</customErrors>
... Et dans votre page d'erreur 404 dans Page_Load mis: this.Response.Status = "404 Not Found";
Voila!
- 1. Page personnalisée 404 avec ASP.NET
- 2. Comment afficher une page 404 personnalisée dans ASP.NET-MVC?
- 3. Problème lors de l'utilisation d'une page 404 personnalisée dans IIS
- 4. Pylons: Comment écrire une page personnalisée 404?
- 5. Arrêter Apache en injectant sa propre page 404 introuvable sur la page d'erreur 404 personnalisée
- 6. Comment définir une page 404 personnalisée dans JBoss 5?
- 7. Exécution d'un code pour une page personnalisée de Django 404
- 8. page 404 personnalisée envoie 200 code d'état
- 9. Comment créer une page personnalisée 404 pour mon Django/Apache?
- 10. personnalisée page d'erreur HTTP
- 11. ASP.NET MVC page d'erreur (404 StatusCode jette 500)
- 12. Comment créer une page 404 personnalisée et envoyer un message de 404 msg?
- 13. Comment gérer le statut HTTP 404 et rediriger l'utilisateur vers une page différente lors du redéploiement de l'application
- 14. Page Custom 404 sur Sitefinity 3.5
- 15. Erreur 302 et 404 avec Javascript
- 16. Comment conserver les paramètres sur l'URL lors de l'écriture d'une page d'erreur 404 personnalisée?
- 17. page personnalisée 404 pour les fichiers php inexistants
- 18. page 404 à Rediriger
- 19. Évitez le remplacement de la page 404
- 20. Obtenir les détails de l'erreur dans une page d'erreur personnalisée
- 21. Définition d'une page d'erreur 404
- 22. Comment diriger vers une page d'erreur personnalisée?
- 23. Comment rediriger un utilisateur vers une page 404 personnalisée dans ASP.NET MVC au lieu de générer une exception?
- 24. Action personnalisée 404 dans Rails
- 25. Page Not Found (404) sur ASP.NET Postback de page par défaut dans un sous-
- 26. répondre avec 404 erreur de la page asp.net codebehind
- 27. Comment configurer ASP.NET pour afficher une page d'erreur personnalisée, mais toujours retourner le statusCode correct (ie404)
- 28. FormsAuthentication.RedirectFromLoginPage vers une page personnalisée
- 29. magento - page produit 404 erreur
- 30. Comment créer une page d'erreur 404 à l'échelle de l'application?
Actuellement, j'utilise un chemin relatif pour les pages d'erreur 400 et 500. – user123212