Recherche de site Web

Rediriger l’URL d’un site Web d’un serveur à un autre serveur dans Apache


Comme promis dans nos deux précédents articles (Effectuer une redirection interne avec mod_rewrite et Afficher un contenu personnalisé basé sur le navigateur), dans cet article, nous allons expliquer comment effectuer une redirection vers une ressource qui a été déplacée d’un serveur à un autre serveur dans Apache à l’aide de mod_rewrite module.

Supposons que vous soyez en train de redessiner 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 plus robuste.

Suggéré pour : 5 conseils pour améliorer les performances de votre serveur Web Apache

Toutefois, 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 dans 192.168.0.100 (nom d’hôte : web) vers le même emplacement dans 192.168.0.101 (nom d’hôte : web2).

Pour que les utilisateurs puissent accéder à ce fichier lorsqu’ils naviguent sur 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]

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

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

Suggéré pour : 25 astuces utiles 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 vu 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 coup d’œil au guide de mod_rewrite et au guide de redirection Apache pour référence future.

Comme toujours, n’hésitez pas à utiliser le formulaire de commentaire ci-dessous si vous avez des inquiétudes concernant cet article. Nous nous réjouissons d’avoir de vos nouvelles !

Articles connexes: