nginx 怎么将一个携带参数的链接,分pc和移动 分别进行重写呢?

发布于 2022-09-30 23:10:27 字数 518 浏览 22 评论 0

我有一个移动端的链接:

https://www.xxx.com/comparede...,2

在通过pc端没有对应的页面,所以在pc打开时需要重写成:

https://www.xxx.com/compare?id=1,2

但因为nginx没办法if嵌套,所以现在无法针对pc进行重写 ,求答案:

我的错误写法:未区分pc与移动

if ($request_uri ~* "^/compared/comdetail.html\?ids=(.*)$") {
        set $myarg1 $1;
        rewrite .* https://$host/compared.html?ids=$myarg1? permanent;
      }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

悍妇囚夫 2022-10-07 23:10:27
set $flag_url "pc"; #自定义变量,参数0
#匹配获取条件
if ($host ~* "pc"){
    set $flag_url "pc"; #修改变量值
}
if ($host ~* "phone"){
    set $flag_url "phone"; #修改变量值
}
#根据条件调整
if ($flag_url = "pc"){ #判断变量的值
    rewrite ^(.*)$  https://www.xxxx.cn$1 permanent; #跳转至此域名前缀
}
if ($flag_url = "phone"){ #判断变量的值
    rewrite ^(.*)$  https://www.bbbbb.cn$1 permanent; #跳转至此域名前缀
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文