Comment Rediriger une Page Web Avec Apache

La manière la plus courante de rediriger une page Web consiste à ajouter des règles spécifiques à un `.htaccess` sur un serveur Web Apache.

Apache (Apache HTTP Server) peut rediriger en utilisant les règles différentes. Le moyen le plus simple est d'utiliser les outils de l'extension mod_alias.

Utilisez la directive Redirect

La directive redirect vous permet d'exécuter des redirections simples et une page avec Apache. Cette directive fait partie du module “mod_alias” et nécessite au minimum deux arguments : l’ancienne URL et la nouvelle URL..

Pour accomplir une simple redirection dans la configuration de votre serveur, utilisez le code suivant :

Exemple

<VirtualHost *:80>
	ServerName www.domain1.com
	Redirect / http://www.domain2.com
</VirtualHost>

<VirtualHost *:80>
	ServerName www.domain2.com
	. . .
	. . .
</VirtualHost>

Cette redirection demande au navigateur de diriger toutes les demandes de "www.domain1.com" vers "www.domain2.com". Ce n'est que pour une seule page, pas pour l'ensemble du site.

Notez, que la directive redirect conduit à une redirection 302 ou temporaire. Dans le cas où vous souhaitez avoir une redirection permanente, utilisez la redirection 301 ou la redirection permanente. (En savoir plus sur Messages d’état HTTP ).

Exemple

Redirect 301 /oldlocation http://www.domain2.com/newlocation

Exemple

Redirect permanent /oldlocation http://www.domain2.com/newlocation

Utilisez la directive Redirectmatch

Si vous voulez rediriger plus qu’une page, utilisez la directive redirectMatch. Il vous permet d’identifier motifs de correspondance de répertoires utilisant des expressions constantes.

La directive redirectMatch fait correspondre les motifs entre parenthèses et définit le texte correspondant dans la redirection à l'aide de «$ 1», où 1 représente le premier groupe de texte. Les groupes suivants reçoivent des nombres séquentiellement.

Si vous souhaitez faire correspondre chaque demande dans le répertoire "/ blog" à un sous-domaine nommé "blog.new-website.com", vous pouvez utiliser l'exemple suivant :

Exemple

RedirectMatch 301 /blog(.*) http://www.blog.new-website.com$1

Cette commande redirigera le Blog de l’ancien site vers le nouveau.

Utilisez les URL mod_rewrite

Pour les tâches plus complexes, telles que la manipulation de la chaîne de requête, utilisez mod_rewrite. En fait, cela ne redirige pas, mais réécrit les URL. La principale différence entre la réécriture et la redirection est que la réécriture d’une URL implique que le serveur renvoie une requête de celle fournie par le client.

Si vous voulez masque les URL avec les données sensibles ou en danger, la réécriture peut être utile pour vous..

Pour réécrire l'ancienne URL vers la nouvelle, suivez cette règle.

Cela ne modifie pas le contenu de la barre d’adresse du navigateur, de sorte que les utilisateurs de l’ancienne URL ne reconnaissent même pas que la page a été renommée.