nginx - Nginx User Agent 重写

  显示原文与译文双语对照的内容
0 0

目的:我希望根据以下条件进行改写:

  • User Agent 是Iphone或者黑莓
  • uri中没有"redirect=false"。

我有下面的代码,我认为将工作,但不。 如果 User Agent 被设置,它只是重定向所有的时间,但忽略 $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;
 }
}

另一个选项是在位置为/但不是子文件夹的情况下替换重定向 false 条件

时间: 原作者:

0 0

如果在参数中发送 redirect=false,我相信你需要在 redirect=false 条件中用 $args 替换 $uri,稍后 Nginx 版本也可以使用 if($arg_redirect = false)

原作者:
...