目标:我想根据以下条件重写:
- 用户代理是 Iphone 或 Blackberry
- uri 中没有“redirect=false”。
我有下面的代码,我认为它可以工作,但没有。如果设置了用户代理,它只会一直重定向,但会忽略该$uri
条件。
location / {
if ( $uri ~* "redirect=false" ) {
set $var_redirect F;
}
if ( $http_user_agent ~* "iPhone|BlackBerry" ) {
set $var_redirect "${var_redirect}M";
}
if ( $var_redirect = M ) {
rewrite ^ http://m.domain.com redirect;
}
}
另一种选择是仅当位置是 / 但不是子文件夹时才将重定向错误条件替换为