You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 15:03:06