Nginx移动端跳转配置出现重定向循环及末尾斜杠Location匹配异常问题求助
Nginx移动端跳转配置出现重定向循环及末尾斜杠Location匹配异常问题求助
我现在碰到个Nginx配置的棘手问题,想请各位帮忙排查下:
我的需求是让移动端设备的请求跳转到和桌面端不同的URL路径,同时移动端的静态文件要从单独的文档根目录读取——而且这个URL路径不能作为目录结构的一部分(简单说就是/mobile/这个路径要对应新文档根的根目录,不是它的子目录)。
我写了一段配置片段,但现在出现了重定向循环的问题,怎么调试都跑不通:
location / { if ($http_user_agent ~* '(iPhone|iPod|iPad|Android|BlackBerry|webOS|Windows Phone)') { rewrite ^ /mobile/ permanent; } index index.html index.htm; } location /mobile/ { root /my/mobile/website; # 指定移动端的文档根目录 rewrite ^/mobile(.*)$ $1 break; # 去掉路径里的/mobile前缀 # try_files $uri $uri/ /index.html; # 我试过这行,但不管用,也没搞懂它的具体作用 index index.html index.htm; }
现在的问题是,只要是移动端访问就会陷入重定向循环,另外我也不确定try_files那行该怎么用才符合我的需求,有没有大佬能帮我分析下问题出在哪,该怎么修改配置才能实现我的目标?
备注:内容来源于stack exchange,提问作者Bozzy
相关产品推荐
相关产品推荐

