Redirections sur le domaine principal

Voici un exemple de réecriture d’URL via un fichier .htaccess directement à la racine du site. Le module Apache Rewrite est nécessaire au bon fonctionnement de ce qui suit.

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

Note: [R=301] détermine le code de retour HTTP de la redirection. [L] signifie que le traitement s’arrêtera une fois la redirection effectuée.

Mise en maintenance « sélective »

Il est possible grâce aux redirections de passer le site en maintenance tout en conservant certains accès. Cela est particulièrement utile lors de correction de bugs non-detectés lors de la recette et qui impacteraient le fonctionnement ou la sécurité du site. Le principe est d’envoyer tous nos utilisateurs vers une page de maintenance, mais de permettre à nos developpeurs et chefs de project de continuer à accéder au site afin d’effectuer les modifications nécessaires.

RewriteCond %{REMOTE_ADDR} !^2\.3\.4\.5$
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
RewriteCond %{REMOTE_ADDR} !^3\.4\.5\.6$
RewriteCond %{REQUEST_URI} !^/maintenance/images/indispo.png$
RewriteCond %{REQUEST_URI} !^/maintenance/css/styles.css$
RewriteCond %{REQUEST_URI} !^/maintenance.html$
RewriteRule .* /maintenance.html [L,R=302]

Plus compliqué ?

Il paraît que certains d’entre vous veulent des choses plus compliquées ? Nous avons eu à résoudre par le passé une problématique simple: notre client développait dans son espace de production (le site n’était pas encore ouvert à l’époque) et souhaitait mettre en place une page d’attente pour tous ses utilisateurs annonçant l’ouverture officielle. Bien entendu, ses employés et développeurs devaient être capable de naviguer sur le site. Pour ce cas de figure, la mise en place d’une redirection couplée à un filtrage par IP et Mot de passe nous a été demandée.

[...]
RewriteCond %{REMOTE_ADDR} !^2\.3\.4\.5$
RewriteCond %{REMOTE_ADDR} !^1\.2\.3\.4$
RewriteCond %{REMOTE_ADDR} !^3\.4\.5\.6$
RewriteCond %{REQUEST_URI} !^/maintenance/images/indispo.png$
RewriteCond %{REQUEST_URI} !^/maintenance/css/styles.css$
RewriteCond %{REQUEST_URI} !^/maintenance.html$
RewriteRule .* /maintenance.html [L,R=302]


       Order deny,allow
       Allow from all
       Satisfy any


   AuthType Basic
   AuthName "Restricted Area"
   AuthUserFile /etc/apache2/access/htpasswd-client

   
      Require valid-user
   

   Order deny,allow
   Allow from 1.2.3.4
   Allow from 2.3.4.5
   Allow from 3.4.5.6
   Deny from all
   Satisfy all

[...]

Plus d’informations sont disponibles sur le très détaillé site officiel d’Apache

Philippe Humeau
Philippe Humeau
Philippe a co-fondé NBS System en 1999. Après s’être concentré sur la sécurité, qu’il n’a jamais abandonnée, il se découvre une passion pour le ecommerce à partir de 2008. Tour à tour pentester, CTO, CCO puis CEO, son profil touche-à-tout l’a conduit à devenir directeur marketing et stratégie d’OT Group après notre intégration dans celui-ci.