Recomendamos que você use o nginx mapa . Algo parecido com isto (escrito no navegador, não testado):
map $http_user_agent $envtype {
default "production";
"~Trident" "development";
}
rewrite /css/development.css /css/$envtype.css;
Temos o arquivo CSS "development.css", mas para os usuários do IE eu preciso redirecioná-los para "production.css". Há uma regra de localização para isso:
location = /css/development.css {
if ($http_user_agent ~* 'Trident') {
rewrite ^(.*)$ /css/production.css redirect;
}
}
O redirecionamento funciona corretamente para o IE, mas para todos os outros navegadores é 404. O "if" do Nginx não tem "else"; qual é a maneira correta de lidar com ifs com reescrita?
Recomendamos que você use o nginx mapa . Algo parecido com isto (escrito no navegador, não testado):
map $http_user_agent $envtype {
default "production";
"~Trident" "development";
}
rewrite /css/development.css /css/$envtype.css;
Então esse é o código que funciona.
location = /css/development.css {
if ($http_user_agent ~* 'Trident') {
rewrite ^(.*)$ /css/production.css last;
}
alias C:/Work/src/css/development.css;
}
Tags nginx