Следующий блок
location / {
if ($http_origin ~* (https?://[^/]*\.example\.com(:[0-9]+)?)) {
add_header 'Access-Control-Allow-Origin' "$http_origin";
}
try_files $uri $uri/ /index.php?$args;
}
… Вызывает 404, так как приведенный выше код никогда не достигает try_files
директивы, поэтому:
Это связано с IfIsEvil из nginx?
Если это так, то есть ли другой способ проверить
http_origin
, не используя оператор if?
Я пробовал это с nginx> 1.4 (1.4.6, 1.7, 1.7.8).
map
или использоватьif
за пределами места.if
за пределами блока местоположения?Ответы:
Я бы использовал
map
:источник
map
s с разными переменными