Rediriger votre site WordPress vers une page de maintenance

Vous pouvez avoir besoin une fois de rediriger vos visiteurs vers une page de maintenance, le temps d’apporter quelques modifications à votre site.

La méthode

Créez une page maintenance.html et uploadez-la à la racine de votre site.

Ajoutez ensuite cette portion de code à votre fichier .htaccess:

RewriteEngine on
RewriteCond %{REQUEST_URI} !/maintenance.html$
RewriteCond %{REMOTE_ADDR} !^123\.123\.123\.123
RewriteRule $ /maintenance.html [R=302,L]

Et voilà vos visiteurs seront redirigés vers votre page.

Pour annuler la redirection, supprimez le code de votre fichier .htaccess.

Redirection web via .htaccess

Avant de procéder, il est nécessaire d’apporter quelques précisions à propos des fichiers .htaccess.

Ces fichiers de configuration permettent de modifier certaines variables du serveur web (redirections, réécriture d’URL…).

Il faut bien prendre en compte que les paramétrages définis dans un fichier .htaccess s’appliquent au répertoire dans lequel le fichier est installé, ainsi qu’à tous ses sous-répertoires.

Le fichier .htaccess doit être un fichier TXT encodé en ASCII ou ANSI.

 

Redirect permanent

Ceci envoie un code HTTP 301 redirection permanente qui informe les navigateurs, et surtout les moteurs de recherche, qu’il faut mettre à jour leurs liens vers la nouvelle adresse.

Attention: Ne fonctionne pas pour faire pointer votre site dans un sous dossier. Pour cela utiliser DirectoryIndex

Voici le code à renseigner dans le fichier .htaccess pour rediriger le site entier vers une nouvelle adresse :

Redirect permanent / http://nouveau-site.tld/

Pour changer un repertoire/fichier :

Redirect permanent /ancien_repertoire http://nouveau-site.tld/nouveau_repertoire
Redirect permanent /ancien_fichier.php http://site.tld/nouveau_fichier.php

 

Redirect gone

Si un fichier n’existe plus, il est préférable de remplacer le message 404 “document non trouvé” par un message plus explicite de type 410 “document n’existe plus” :

Redirect gone /supprime.html

 

Redirect seeother

Si vous changez l’extension d’un fichier, seeother permet de modifier le type du fichier en envoyant un code HTTP 303 :

Redirect seeother /exemple.doc http://site.tld/exemple.pdf

 

Redirect Temp

Une redirection temporaire, de type HTTP 302, peut être utilisée lorsque vous déplacez temporairement des fichiers sur un autre site :

Redirect temp / http://autre_site_web.tld/site/

 

Comment rediriger vers la page d’accueil après une déconnexion

Lorsque vous vous déconnectez de votre site WordPress, vous êtes immédiatement redirigé vers la page /wp-login.php. Ce n’est pas forcément utile puisque vous ne souhaitez pas être connecté.

Nous allons donc ici modifier ce comportement afin d’être redirigé vers la page d’accueil de notre site plutôt que la page de connexion à WordPress.

Pour cela copiez-collez le code suivant dans le fichier functions.php de votre thème enfant:

// Redirection vers la page d'accueil après une déconnexion

add_action('wp_logout','wpm_home_redirect_after_logout'); 

function wpm_home_redirect_after_logout(){  
// On redirige vers la page d'accueil
  wp_safe_redirect( home_url('/') );  
  exit();  
}

Et voilà, vous serez maintenant redirigé vers la page d’accueil de votre site quand vous vous déconnecterez.