PHP : ajouter (ou retirer) le sous-domaine « www »

Inclure ou non le sous-domaine « www » dans l’adresse du site, il faut choisir. Si l’on ne fait rien, la plupart des solutions d’hébergement à bas coût ne choisissent pas et le site est accessible à l’identique avec ou sans le sous-domaine. Ce sont alors les moteurs de recherche qui choisissent.

Pour ajouter le sous-domaine « www », voici un petit bout de code PHP à inclure tout au début des pages du site :

<?php
if(!preg_match('/^www/', $_SERVER['HTTP_HOST']) && !preg_match('/^localhost$/', $_SERVER['HTTP_HOST'])) {
  header('HTTP/1.1 301 Moved Permanently');
  header('Location: http://www.' . $_SERVER['HTTP_HOST'] . $_SERVER["REQUEST_URI"]);
  exit;
}
?>

Nota. – Le cas particulier de l’accès en local sur la plate-forme de développement est pris en compte : la redirection ne s’active pas si le site est sur le serveur « localhost ».

Ou bien, pour retirer le sous-domaine « www » :

<?php
if (preg_match('/^www\./', $_SERVER['HTTP_HOST'])) {
  header('HTTP/1.1 301 Moved Permanently');
  header('Location: ' . 'http://' . substr($_SERVER['HTTP_HOST'], 4) . $_SERVER["REQUEST_URI"]);
  exit;
}
?>

Dans un template Joomla!, ce code est à insérer au début du fichier « index.php » du template. Dans un thème WordPress, le bon fichier est « header.php ».

Leave a Reply

Your email address will not be published. Required fields are marked *

Mesure anti-spam. Merci de copier le code « ZoPU6t » dans le champ ci-dessous :