Accueil > Apache > Wordpress avec Apache mod_rewrite et server-status

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.

Je vous recommande aussi la lecture des sujets suivants:

Catégories:Apache
  1. Pas encore de commentaire
  1. Pas encore de trackbacks