Wordpress avec Apache mod_rewrite et server-status
Une petite astuce pour ceux qui utilisent Wordpress avec Apache et le mod_rewrite.
Si vous faites du monitoring de Apache avec certains programmes de statistique style Munin, où Collectd vous aurez sûrement remarquer que votre server-status ne fonctionnera plus si vous activer les permaliens.
En effet, Wordpress utilise le mod_rewrite de Apache pour personnalisé vos url. J’ai choisie personnellement de le faire.
Voici ma structure personnalisé des permaliens :
/%postname%-%post_id%
Seul souci en personnalisant vos permaliens, Wordpress va créer un fichier .htaccess à la racine de votre site avec ceci :
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]# END WordPress
Problème, votre server-status ne fonctionnera plus, et vous arriverez sur une belle page 404 de Wordpress à la place des statistiques Apache que le server-status devrait vous donner.
Pour y remédier il faut ajouter une règle de rewrite à votre fichier .htaccess et le chmoder en 444, car sinon à la moindre connexion sur la partie administration de Wordpress, où lorsque vous publier un articles, le fichier .htaccess sera à nouveau modifier.
Voici la règle que j’utilise pour que mon server-status soit opérationnel avec les permaliens.
Il suffis d’ajouter la ligne en gras.
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !=/server-status
RewriteRule . /index.php [L]# END WordPress
Ensuite un petit
chmod 444 /home/votre_repertoire_ou_est_wordpress/.htaccess
pour que Wordpress n’ai plus accès en écriture au fichier .htaccess.
Commentaires récents