J’essaie de faire fonctionner CORS avec plusieurs domaines.
Header add Access-Control-Allow-Origin "http://localhost, http://multiplay.io"
Cependant, il semble que la plupart des navigateurs ne supportent qu’un seul domaine. On m’a dit que la solution consiste à définir l’en-tête par domaine entrant.
Comment faites-vous cela en utilisant le fichier .htaccess?
Si vous ne souhaitez alterner que deux valeurs, vous pouvez utiliser SetEnvIf
pour différencier les deux.
SetEnvIf Referer "^http://localhost/" is_localhost Header add Access-Control-Allow-Origin http://localhost env=is_localhost Header add Access-Control-Allow-Origin http://multiplay.io env!=is_localhost
Il peut y avoir une solution plus élégante, mais quelque chose comme les directives (non testées) ci-dessus devraient fonctionner.
(Notez qu’il est sortingvial de falsifier un en-tête Referer, alors soyez conscient des implications de sécurité des en-têtes Referer lors de l’utilisation des en-têtes Referer pour pratiquement tout.)
De plus, si vous souhaitez simplement autoriser tous les hôtes, vous pouvez spécifier *
au lieu de répertorier plusieurs noms d’hôte:
Header add Access-Control-Allow-Origin *
Mais je suppose que vous le saviez déjà et que vous ne voulez pas être aussi permissif.