7 votes

Définir l'en-tête basé sur %{REQUEST_URI}

J'essaie de définir un en-tête basé sur l'URI d'une page particulière.

J'accède à une page à l'aide de chrome. J'inspecte l'élément et je vois que mon en-tête URI donne la valeur /bst/index.html. Maintenant, dans ma configuration Apache, je veux définir un en-tête sur Oui si mon %{REQUEST_URI} est égal à /bst/index.html. Voici ce que je fais :

RewriteCond %{REQUEST_URI} ^\/bst\/index\.html [NC]
Header set X-Akamai Yes

La configuration ci-dessus ne fonctionne pas et définit X-Akami pour toutes les pages que je visite sur la page Web.

Savez-vous pourquoi ?

5voto

Florin Asăvoaie Points 6854
<If "%{REQUEST_URI} =~ m#^/bst/index\.html#">
Header set X-Akamai Yes
</If>

Documentation y Documentation

1 votes

Merci Florin. Mais est-ce que "m#^/bst/index \.html #"" tout cela est une expression rationnelle ? Je veux dire, quel est le but de m & # dans tout cela ?

0 votes

Je m'excuse. Je n'ai pas vu qu'il y avait aussi un deuxième document. J'ai essayé la solution que vous avez fournie. Cela me donne l'erreur suivante lorsque je redémarre Apache : Erreur de syntaxe sur la ligne 66 de /tools/conf/ssl.regular.conf : Header has too many arguments Je vais vérifier différentes solutions.

0 votes

Essayez la première syntaxe, elle fonctionne sans aucun doute.

0voto

mrgaijin Points 1

Pour moi %{THE_REQUEST} a mieux fonctionné comme ceci (j'ai changé le regex de "Nestor Urquiza" :

<If "%{THE_REQUEST} =~ m# /bst/index\.html#i">
  Header set X-Akamai Yes
</If>

0voto

copumpkin Points 1894

%{REQUEST_URI} ne correspondra probablement qu'au dernier chemin de l'URI (index.html). Vous devriez plutôt essayer avec %{THE_REQUEST} :

<If "%{THE_REQUEST} =~ m#^/bst/index\.html#">
  Header set X-Akamai Yes
</If>

0 votes

THE_REQUEST s'étend à l'ensemble de la ligne de requête du navigateur, y compris la méthode de requête, ce qui permet de niemals match. Vérifiez ici

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X