web-dev-qa-db-fra.com

htaccess ErrorDocument 404 ne fonctionne pas

Je prévois de remplacer WordPress sur mon site par du code HTML/CSS/JS personnalisé et j'essaie de vérifier si mon fichier .htaccess fonctionnera. Cela fonctionne, car j'ai pu changer l'index de répertoire avec, mais pour une raison quelconque, ErrorDocument 404 /errors/404.html ne fonctionne pas. Au lieu de cela, lorsque je tape une URL fictive, le message du navigateur standard 404 apparaît.

J'ai juste essayé d'avoir cette ligne dans le fichier htaccess. Je pense que cela est peut-être dû au dossier WordPress, que je supprimerai lorsque le nouveau site sera prêt. Est-ce le problème?

1
binaryfunt

le navigateur standard [MS Edge] 404 apparaît.

Il semblerait que vous voyiez le "Message d'erreur HTTP convivial" d'Internet Explorer/Microsoft. Il s'agit d'une fonctionnalité activée par défaut dans les navigateurs IE (et il semblerait que Edge).

Si la réponse du serveur à certaines erreurs courantes (par exemple, 404, 500, ...) est inférieure à 512 octets, la page d'erreur "conviviale" d'IE s'affiche à la place.

Si le document d'erreur est probablement inférieur à 512 octets, la procédure habituelle consiste simplement à le remplir avec un commentaire HTML volumineux, afin de s'assurer qu'il est toujours supérieur à 512 octets!

Vous pouvez également désactiver cette option (par utilisateur) dans le navigateur. Sous Options Internet> Avancé> Navigation, décochez l'option "Afficher les messages d'erreur HTTP simplifiés":

IE Internet Options - Show friendly HTTP error messages

Référence:
https://support.Microsoft.com/en-us/kb/294807

1
MrWhite

WordPress possède sa propre page 404. Il est généralement placé dans /wp-content/themes/your-active-theme/404.php. Le contenu de 404.php devrait être au moins:

<?php get_header(); ?>

<h2>Error 404 - Page Not Found.</h2>

<?php get_sidebar(); ?>

<?php get_footer(); ?>

Si vous placez votre fichier htaccess dans le répertoire Wordpress, il doit contenir la ligne suivante:

ErrorDocument 404 /index.php?error=404

Si vous placez votre htaccess BESIDE, au même niveau de répertoire que votre répertoire WordPress, le contenu de htaccess doit être

ErrorDocument 404 /Folder-Name-Of-Wordpress-Installation/index.php?error=404
1
Evgeniy