Recherche de site Web

Rediriger l'URL d'un site Web d'un serveur vers un autre serveur dans Apache


Comme promis dans nos deux articles précédents (Effectuer une redirection interne avec mod_rewrite et Afficher le contenu personnalisé basé sur le navigateur), dans cet article, nous expliquerons comment effectuer une redirection vers une ressource qui a été déplacée d'un serveur vers un autre serveur dans Apache en utilisant Module mod_rewrite.

Supposons que vous repensiez le site Intranet de votre entreprise. Vous avez décidé de stocker le contenu et le style (fichiers HTML, JavaScript et CSS) sur un serveur et la documentation sur un autre – peut-être un un plus robuste.

Lecture suggérée : 5 conseils pour améliorer les performances de votre serveur Web Apache

Cependant, vous souhaitez que cette modification soit transparente pour vos utilisateurs afin qu'ils puissent toujours accéder aux documents à l'URL habituelle.

Dans l'exemple suivant, un fichier nommé assets.pdf a été déplacé de /var/www/html vers 192.168.0.100 (nom d'hôte : web) au même emplacement dans 192.168.0.101 (nom d'hôte : web2).

Pour que les utilisateurs puissent accéder à ce fichier lorsqu'ils accèdent à 192.168.0.100/assets.pdf, ouvrez le fichier de configuration d'Apache sur 192.168.0.100 et ajoutez la règle de réécriture suivante (ou vous pouvez également ajouter la règle suivante à votre fichier .htaccess) :

RewriteRule "^(/assets\.pdf$)" "http://192.168.0.101$1"  [R,L]

$1 est un espace réservé pour tout ce qui correspond à l'expression régulière entre parenthèses.

Enregistrez maintenant les modifications, n'oubliez pas de redémarrer Apache et voyons ce qui se passe lorsque nous tentons d'accéder à assets.pdf en naviguant jusqu'à 192.168.0.100/assets.pdf :

Lecture suggérée : 25 astuces utiles « .htaccess » pour les sites Web

Dans ce qui précède, nous pouvons voir que la demande qui a été faite pour assets.pdf sur 192.168.0.100 a en fait été traitée par 192.168.0.101.

tail -n 1 /var/log/apache2/access.log

Dans cet article, nous avons expliqué comment effectuer une redirection vers une ressource qui a été déplacée vers un autre serveur. Pour conclure, je vous suggère fortement de jeter un œil au guide mod_rewrite et au guide de redirection Apache pour référence future.

Comme toujours, n'hésitez pas à utiliser le formulaire de commentaires ci-dessous si vous avez des inquiétudes concernant cet article. Nous avons hâte d'avoir de tes nouvelles!