O bloco a seguir
location / {
if ($http_origin ~* (https?://[^/]*\.example\.com(:[0-9]+)?)) {
add_header 'Access-Control-Allow-Origin' "$http_origin";
}
try_files $uri $uri/ /index.php?$args;
}
… Causa um 404, pois o código acima nunca atinge a try_files
diretiva, portanto:
Isso está relacionado ao IfIsEvil do nginx?
Se for, existe alguma outra maneira de testar o
http_origin
não usando uma instrução if?
Eu tentei isso com nginx> 1.4 (1.4.6, 1.7, 1.7.8).
map
ou usarif
fora do local.if
fora do bloco de localização?Respostas:
Eu usaria
map
:fonte
map
s com diferentes variáveis