erreur 404
0

[Migration WordPress] Erreur 404 – problème de Permaliens

Contexte :

Lors de ma toute première migration WordPress j’ai rencontré une erreur 404 à chaque fois que je cliquait sur un article. Il s’agit d’une Erreur de Permalien, ou Permalink.

Erreur :

Not Found

The requested URL /url-de-la-page-demande was not found on this server.

Solution :

Le problème peut avoir plusieurs causes :

1/Rafraichir les permaliens

Suite la migration les liens on pu ne pas être correctement généré, le plus simple est donc de se rendre dans REGLAGES > PERMALIENS puis de simplement cliquer sur Enregistrer les modification afin de régénéré tous les permaliens.

2/Activer le mod_rewrite

Le problème peut également venir de votre configuration Apache. La solution ici concerne les serveurs linux disposant d’un accès via un terminal de commande.

Pour vérifier si le mod_rewrite est installé il faudra taper ces deux lignes de commande via un terminal en tant que Root

updatedb
locate mod_rewrite.so

Normalement vous devriez avoir un résultat à peut près similaire à cela :

/usr/lib/apache2/modules/mod_rewrite.so
/usr/lib/debug/usr/lib/apache2/modules/mod_rewrite.so

Ensuite on active le mod_rewrite avec cette commande :

a2enmod rewrite

Si le fichier /etc/apache2/mods-available/rewrite.load n’existe pas, il vous suffit d’utiliser la commande suivante.

Celle-ci crée un lien logique entre ce module et les fichiers de modules que comprend votre serveur Apache (ils sont placés dans le dossier /etc/apache2/mods-available/)

command echo "LoadModule rewrite_module /usr/lib/apache2/modules/mod_rewrite.so" > /etc/apache2/mods-available/rewrite.load
a2enmod rewrite

Il faut maintenant vérifier que le fichier de configuration apache de votre site contienne les bonnes valeurs. (Ce fichier se trouve dans /etc/apache2/sites-available/)

A l’intérieur de votre fichier de config (default.conf par exemple) c’est la balise directory qui nous intéresse. Elle est située a l’intérieur de la balise VirtualHost. Cette balise Directory doit au minimum avoir ces valeurs :

<Directory "/var/www/html/mon_site/">
  AllowOverride All
</Directory>

La valeur qui est entre guillemet juste après le premier Directory doit correspondre au chemin qui mène au site web et AllowOverride doit avoir la valeur All.

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *