Tutoriel - Réécrire l'URL d'accès à mon site grâce au mod_rewrite via le fichier .htaccess

Voir en Markdown

Découvrez comment réécrire l'URL d'accès à votre site grâce au mod_rewrite via le fichier .htaccess

Objectif

Le « mod_rewrite » est l'un des modules disponibles sur le serveur Web HTTP Apache. Apache est installé sur l'ensemble de notre infrastructure d'hébergements mutualisés. Ce serveur web permet de gérer l'ensemble des requêtes HTTP émises vers votre hébergement web.

Par exemple, c'est Apache qui récupère les requêtes HTTP générées par les navigateurs Internet des visiteurs de votre site et qui leur retourne le contenu demandé par ces mêmes requêtes. Les navigateurs Internet affichent ensuite le contenu de votre site web à votre visiteur.

Le « mod_rewrite » permet par exemple de réécrire et rediriger :

  • un visiteur qui saisit votre URL en « HTTP » directement vers l'URL de votre site web en « HTTPS » ;
  • l'ensemble des URLs utilisées pour votre site web vers un dossier ou un fichier spécifique ;
  • un visiteur qui saisit votre URL sans « www » directement vers l'URL de votre site web avec les « www ».

Le « mod_rewrite » offre une infinité de possibilités. Nous allons vous présenter ci-après quelques exemples d'utilisation parmi les plus courants.

Tip

Si vous souhaitez approfondir vos connaissances sur l'utilisation du « mod_rewrite » d'Apache ou que l'exemple que vous recherchez n'est pas présent dans le tutoriel qui va suivre, consultez la documentation officielle d'Apache.

Découvrez comment réécrire l'URL d'accès à votre site grâce au mod_rewrite via le fichier .htaccess

Prérequis

En pratique

Informations sur l’administration des services OVHcloud et sur la manière d’obtenir l’assistance appropriée

Lors de l’utilisation des guides OVHcloud, veuillez tenir compte des points suivants :

  • Les instructions visent à fournir un maximum de détails, mais ne peuvent pas couvrir tous les cas d’utilisation particuliers. Il peut être nécessaire d’adapter les actions décrites à vos besoins.
  • L’écosystème OVHcloud est conçu pour offrir flexibilité et liberté de choix. Vous êtes donc responsable de la configuration correcte et sécurisée de vos services. Afin d’éviter toute perte de données, nous vous recommandons vivement de mettre en place des stratégies de sauvegarde pour toutes vos données importantes.
  • Nos guides et tutoriels peuvent faire référence à des logiciels ou services tiers utilisés en combinaison avec les solutions OVHcloud. Le support technique fourni par OVHcloud n’inclut pas la configuration de systèmes ou de produits ne relevant pas de notre responsabilité. Cela inclut notamment :
    • Les systèmes d’exploitation et les interfaces utilisateur (Windows, Debian, Plesk, etc.).
    • Tout autre logiciel tiers (clients FTP, logiciels de messagerie, etc.).
    • Les services proposés par d’autres fournisseurs (DNS, API, interfaces utilisateur, etc.).

Pour recevoir l’assistance appropriée en cas de problème, suivez ces recommandations :

  • Vous souhaitez obtenir des conseils personnalisés ou discuter d’un sujet qui n’est pas traité en détail dans notre documentation ?
    Rejoignez la communauté OVHcloud pour y rechercher votre sujet et échanger avec d’autres utilisateurs.
  • Vous devez signaler un incident concernant votre service OVHcloud ou vous rencontrez des difficultés dans l’espace client OVHcloud ?
    Créez une demande d’assistance dans notre centre d’aide.
  • Vous avez besoin d’une assistance professionnelle pour votre projet ou d’aide pour des tâches en dehors de notre périmètre de support ?
    Consultez notre portail des partenaires pour trouver des experts des solutions OVHcloud.
  • Vous recherchez des informations plus détaillées sur nos niveaux de support et Professional Services ?
    Consultez nos pages niveaux de support OVHcloud et OVHcloud Professional Services.

Vous pouvez participer à l’amélioration de notre documentation :

  • Vous souhaitez faire un retour pour améliorer un guide ou signaler des informations insuffisantes sur une page spécifique ?
    Utilisez les boutons « Cette page vous a-t-elle aidé ? » en bas de page pour nous en informer.
  • Vous souhaitez proposer directement une modification de la documentation ?
    Utilisez la fonction « Modifier cette page », disponible en bas de page et dans la barre latérale.

Le fichier « .htaccess » dans lequel vous allez configurer le « mod_rewrite » d'Apache peut être placé dans plusieurs dossiers différents. Vous devez uniquement respecter la règle d'un seul fichier « .htaccess » par dossier ou sous-dossier.

Les paramètres définis dans un fichier « .htaccess » s'appliquent au répertoire où il est présent ainsi qu'à tous ses sous-répertoires.

Pour éditer (ou créer) des répertoires, connectez-vous à l'espace FTP de votre hébergement. Au besoin, aidez-vous du guide « Accéder à mon espace de stockage ».

Retrouvez ci-après quelques exemples parmi les plus courants d'utilisation du « mod_rewrite » d'Apache. Certains d'entre eux peuvent également favoriser le référencement SEO de votre site web.

Rediriger toutes les requêtes HTTP vers un seul fichier de votre site

Éditez le fichier « .htaccess » présent à la racine du répertoire contenant votre site web. Placez-y le code suivant à l'intérieur (en remplaçant le test.php de notre exemple par le nom de votre propre fichier):

RewriteEngine On
RewriteRule .* test.php

Dans notre exemple, toutes les requêtes effectuées vers votre site web sont redirigées vers le fichier test.php .

Rediriger une partie des requêtes HTTP vers un seul fichier de votre site web

Éditez le fichier « .htaccess » présent à la racine du répertoire contenant votre site web. Placez-y le code suivant à l'intérieur (en remplaçant dans notre exemple les valeurs thetest et /test_wslash/test.php par les noms de vos propres fichiers):

RewriteEngine On
RewriteRule thetest /test_wslash/test.php

Dans notre exemple, toutes les requêtes HTTP qui contiennent /thetest sont redirigées vers le fichier /test_wslash/test.php.

Rediriger votre nom de domaine vers son sous-domaine en « www »

Cette règle de réécriture force l'adresse/URL de votre site web à être réécrite avec son sous-domaine en « www ».

Éditez le fichier « .htaccess » présent à la racine du répertoire contenant votre site web. Placez-y le code suivant à l'intérieur (en remplaçant dans notre exemple domain.tld par votre propre nom de domaine):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.tld$
RewriteRule ^(.*) http://www.domain.tld/$1 [QSA,L,R=301]

Cette réécriture d'URL peut favoriser le référencement SEO de votre site web.

Rediriger les requêtes vers un dossier en particulier sans afficher le dossier concerné

Lorsque vous utilisez un hébergement mutualisé OVHcloud, votre nom de domaine (par exemple : domain.tld) est déclaré sur un site web présent sur votre hébergement web. Ceci afin d'afficher le contenu d'un dossier cible que l'on appelle aussi dossier racine. C'est ce dossier qui contient les fichiers de votre site web. Vous pouvez personnaliser le nom de ce dossier racine au moment de l'ajout du site web sur votre hébergement via votre espace client OVHcloud.

Consultez notre guide « Partager son hébergement entre plusieurs sites » si vous souhaitez obtenir plus d'informations sur le sujet.

Certains utilisateurs ne placent pas leur site web directement à la base du dossier racine. Ils créent alors un sous-dossier (par exemple : MyWebsite) dans leur dossier racine pour y placer leur site web.

Dans ce cas, l'URL pour accéder au site aura la forme suivante : http://domain.tld/MyWebsite.

Si les fichiers de votre site web ne sont pas présents directement dans le dossier racine déclaré pour votre site web dans votre espace client OVHcloud et que vous ne souhaitez pas afficher le nom du dossier dans l'URL de votre site web, éditez le fichier « .htaccess » présent à la racine du répertoire contenant votre site web.

Placez-y le code suivant à l'intérieur (en remplaçant dans notre exemple les valeurs domain.tld par votre nom de domaine et MyWebsite par le nom de votre propre dossier):

RewriteEngine on
RewriteCond %{HTTP_HOST} ^domain.tld
RewriteCond %{REQUEST_URI} !^/MyWebsite
RewriteRule ^(.*)$ /MyWebsite/

Dans notre exemple, cela force l'adresse de votre site à être de type http://domain.tld, alors qu'en réalité la page appelée est http://domain.tld/MyWebsite.

Rediriger automatiquement un visiteur vers votre site web en HTTPS lorsqu'il le consulte avec une URL en HTTP

Les certificats SSL permettent de chiffrer les échanges effectués en HTTP avec votre site web. Cela empêche des personnes ou des robots malveillants de collecter les données échangées entre le site et le visiteur, comme des coordonnées bancaires par exemple.

Si vous ne disposez pas d'un certificat SSL, consultez notre guide sur la gestion d'un certificat SSL sur un hébergement mutualisé OVHcloud.

Certains de vos visiteurs peuvent oublier de saisir l'URL d'accès à votre site en https:// : cela représente un risque non négligeable pour les données échangées entre votre site web et leurs navigateurs Internet.

Pour empêcher cela, éditez le fichier « .htaccess » présent à la racine du répertoire contenant votre site web. Placez-y le code suivant à l'intérieur (en remplaçant dans notre exemple domain.tld par votre propre nom de domaine):

RewriteEngine On
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.domain.tld/$1 [R,L]

Dans notre exemple, toutes les requêtes effectuées avec une URL en « http:// » seront automatiquement réécrites en « https:// ». Les visiteurs seront ainsi redirigés vers votre site en « https:// ».

Aller plus loin

Bloquer l'accès à mon site web pour certaines adresses IP via un fichier .htaccess

Protéger l'interface d'administration de votre site par un fichier .htaccess

Pour des prestations spécialisées (référencement, développement, etc), contactez les partenaires OVHcloud.

Si vous souhaitez bénéficier d'une assistance à l'usage et à la configuration de vos solutions OVHcloud, nous vous proposons de consulter nos différentes offres de support.

Échangez avec notre communauté d'utilisateurs.

Cette page vous a-t-elle aidé ?