Modifier les headers Apache en fonction des paramètres GET
Par zokar le mercredi, décembre 31 2014, 10:12 - Sysadmin - Lien permanent
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é !