Activer les permaliens de WordPress

Il est toujours plus sympa de cliquer sur un lien du genre:

http://www.sbskl.com/linux/activer-les-permaliens-de-wordpress/

Plutôt que :

http://www.sbskl.com/?p=261

Je suis donc tout simplement aller dans la configuration de WordPress : Réglages>Permaliens. Je choisis la forme qui me convient :

/%category%/%postname%/

J'enregistre les modifications. Je retourne sur mon blog. Et là… Bling… Plus un seul lien ne fonctionne !

Error 404 : File not found

J'ai loupé quelque chose ?

Et bien deux choses en fait…

  1. Le module Apache rewrite doit être actif.
  2. Apache doit prendre en compte les fichiers  .htaccess.

Module rewrite

Sans le module rewrite, Apache essaiera bêtement d'aller à la page se trouvant au bout du lien. Page qui n'existe pas réellement. Avec rewrite, Apache va transformer le lien "en clair" fictif en un lien "barbare" réél. L'activation de ce module se fait donc simplement par la commande suivante :

sudo a2enmod rewrite

On recharge la configuration d'Apache :

sudo /etc/init.d/apache2 reload

Prise en compte des fichiers .htaccess

Maintenant que le module rewrite est en place, il faut dire à Apache de lire les fichiers .htaccess pour y trouver les infos WordPress de "rewritring"… Sinon, Error 404…

Ouvrir le fichier de configuration Apache du site, pour ma part : /etc/apache2/sites-enabled/000-default. Rechercher la section :

<Directory /var/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

Et remplacer la ligne :

AllowOverride None

Par :

AllowOverride All

Voila, vous venez de dire à Apache de tenir compte des fichiers .htaccess dans le répertoire /var/www.

Conclusion…

Malgré ce que j'ai pu lire sur différents sites le fichier .htaccess généré par WordPress ne m'a posé aucune difficulté. Seul la configuration par défaut de mon serveur Apache posait problème puisqu'il ne tenait pas compte des fichiers .htaccess et que le module rewrite n'était pas actif.

2 réflexions au sujet de « Activer les permaliens de WordPress »

  1. Merci à toi ! J’avais le problème et j’ai testé la méthode pour « free » avec l’ajout du /index.php/, mais cela ne me convenait pas esthétiquement. Après modification du fichier de configuration de mon apache (httpd.conf) pour activer le module rewrite et changer le AllowOverride du dossier www, ça fonctionne impect sous mon local ! Reste plus qu’à mettre en oeuvre pour celui en ligne 🙂

Laisser un commentaire

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