Catégories
Linux Travaux / Expériences

Apache – redirection vers URL externe avec mod_rewrite

Suite à une demande pour ajouter des liens externes dans notre portail local, le portail n’étant pas nativement un aggrégateur d’URL, j’ai pensé à le faire nativement dans Apache en utilisant le module mod_rewrite.

Le but étant, depuis la location « ext », d’avoir un redirect vers n’importe quellle URL (www.google.com, etc.). La configuration donne ceci :

<Location /ext>
  # Activer les options de suivi de liens
  Options +FollowSymLinks +SymLinksIfOwnerMatch

  # Activer le moteur de réécriture
  RewriteEngine On

  # Si la requête contient un paramètre 'url' valide
  RewriteCond %{QUERY_STRING} (?:^|&)url=([a-zA-Z0-9.-]+)(?:&|$)
  

  # Rediriger vers l'URL indiquée en utilisant HTTPS, sans échappement des caractères spéciaux
  RewriteRule .* https://%1? [R=301,L,NE]
</Location>

Ce qui fait que pour, par exemple, le lien suivant : https://votreportailsousapache.fr/ext?url=www.google.com

Le serveur apache vous redirigera automatiquement sur www.google.com.

Cela vous permet donc de générer rapidement un aggrégateur de liens pour n’importe quel portail qui n’accepterait que des liens relatifs ou internes.

Laisser un commentaireAnnuler la réponse.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Quitter la version mobile