Modifier les headers Apache en fonction des paramètres GET

Un petit billet très court sur la manière de modifier les Headers d'un site en fonction des paramètres GET (QUERY_STRING), et ce directement dans le vhost Apache

On pourrait très bien le faire dans le code, mais cela demande une ouverture trop grande à mon goût pour permettre ce genre de choses. J'ai donc choisi de faire cela directement dans le vhost Apache.

Mais avant tout, à quoi cela peut-il bien me servir ? Mise en situation.

Je fais partie d'une société qui possède un nom de domaine dans chaque pays (on en prendra deux dans notre exemple) en plus du .com classique.

Imaginons que sur le site communautaire, on veuille inclure des scripts JQuery des sites spécialisés en .fr et .de (par exemple). Il faut donc ajouter dans les headers la condition Access-Control-Allow-Origin en fonction du site demandé.

Je me base sur le fait que l'on détecte dans la Query_String le paramètre lang afin de savoir si on est en Français ou en Allemand.

Je rajoute donc dans le vhost Apache :

RewriteCond %{QUERY_STRING} "lang=fr" [NC]
RewriteRule ^.*$ - [E=foundfr:true]
Header Set Access-Control-Allow-Origin "mondomaine.fr" env=foundfr

RewriteCond %{QUERY_STRING} "lang=de" [NC]
RewriteRule ^.*$ - [E=foundde:true]
Header Set Access-Control-Allow-Origin "mondomaine.de" env=foundde

Et le tour est joué !

Ajouter un commentaire

Le code HTML est affiché comme du texte et les adresses web sont automatiquement transformées.

La discussion continue ailleurs

URL de rétrolien : https://blog.cp2i.com/?trackback/40

Fil des commentaires de ce billet