Définir les en-têtes de Apache conditionnellement
Je travaille avec un serveur apache, et j'aimerais ajouter des en-têtes conditionnelle.
Si l'URI correspond à un certain regex, je voudrais ajouter l'en-tête Access-Control-Allow-Origin: *
. Ce qui est une bonne façon de le faire?
Ce que j'ai essayé jusqu'à présent:
-
J'ai ajouté le code appelé par le gestionnaire, à l'aide de
apr_table_add(rq->headers_out, "Access-Control-Allow-Origin", "*")
. Mais il semble que Apache bandes de la tête avant d'envoyer la réponse à chaque fois que l'en-têteContent-Type: application/x-javascript
est également définie. Est-ce la mauvaise façon de le faire? Pourquoi Apache bande de l'en-tête? -
J'ai entendu mod_headers suggéré. Ne mod_headers ont la capacité de placer des en-têtes basés sur l'expression rationnelle correspondant à l'URI de la demande?
La réponse de @akond travaillé.
OriginalL'auteur dinosaur | 2014-01-21
Vous devez vous connecter pour publier un commentaire.
mais cela ne fonctionne que si elle est située dans la configuration. De le placer dans .htaccess ne va pas aider.
Compris avec l'aide de collègues. Merci!!!!
les deux SetEnvIf d'en-Tête et les directives ne sont pas limités à être situé dans le fichier de configuration seulement, ils fonctionnent parfaitement dans un contexte de répertoire, aussi dans .fichiers htaccess. Contrairement à ce qui est indiqué dans la accepté de répondre.
OriginalL'auteur akond
Cela devrait également fonctionner (mod_rewrite):
où
^/en/foo.*$
une regex qui est opposé à la demande de l'URL.htaccess
ce qui est agréableOriginalL'auteur Tomasz Szymulewski