fen*_*nec 5 proxy redirect nginx
我正在尝试设置我的nginx将所有来自移动设备的请求重定向到/ mobile/$ uri我想出了这个解决方案,但它似乎不起作用.这是一个语法问题还是对整个重定向概念的误解.
if ($http_user_agent ~* '(iPhone|iPod|android|blackberry)') {
rewrite ^(.*) http://xxxx.org/mobile/$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)
当我使用我的Android手机时,我得到像xxx.org/mobile/mobile/mobile/mobile ....
任何想法?有什么建议吗?
您应该使用不同的位置:
location / {
if ($http_user_agent ~* '(iPhone|iPod|android|blackberry)') {
return 301 /mobile$request_uri;
}
}
location /mobile/ {
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,http://nginx.org/r/return
#initliaze mobile
set $mobile "";
if ($request_uri !~* "^/mobile.*" ){
set $mobile Y;
}
if ($http_user_agent ~* (iPhone|iPod|android|blackberry) ) {
set $mobile "${mobile}E";
}
if ( $http_referer !~* "xxx\.org" ){
set $mobile "${mobile}S";
}
if ( $host ~* "xxx\.org" ){
set $mobile "${mobile}S";
}
if ($mobile = YESS){
rewrite ^ $scheme://$host/mobile$request_uri ;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8786 次 |
| 最近记录: |