我们有 CSS 文件“development.css”,但对于 IE 用户,我需要将其重定向到“production.css”。这里有一个位置规则:
location = /css/development.css {
if ($http_user_agent ~* 'Trident') {
rewrite ^(.*)$ /css/production.css redirect;
}
}
重定向对于 IE 正确工作,但对于所有其他浏览器都是 404。Nginx 的“if”没有“else”;使用重写处理 if 的正确方法是什么?
答案1
我建议你使用 nginx地图类似这样的(在浏览器中编写,未经测试):
map $http_user_agent $envtype {
default "production";
"~Trident" "development";
}
rewrite /css/development.css /css/$envtype.css;
答案2
这是有效的代码。
location = /css/development.css {
if ($http_user_agent ~* 'Trident') {
rewrite ^(.*)$ /css/production.css last;
}
alias C:/Work/src/css/development.css;
}