【问题标题】:Nginx multiple rewrite ruleNginx 多次重写规则
【发布时间】:2016-02-29 07:14:53
【问题描述】:

您好,我想从桌面网站重定向我的移动用户。移动服务器基于 nginx,我正在添加重写规则:我必须添加 50 条规则并且不知道任何捷径。但问题是该规则不适用于后缀。例如在我的桌面网站中,我有

http://www.example.com/watch/tv-commercial/aci-aerosol-hd/ http://www.example.com/category/tv-commercial/

http://www.example.com/category/music-video/

http://www.example.com/watch/music-video/aji-e-boshonte/

我想重定向

http://www.example.com/watch/tv-commercial/

这个群发http://m.example.com/funny-clips

和这个组

http://www.example.com/category/music-video/

http://m.bongobd.com/full-movie-natok

如果我写

location = /watch/tv-commercial/ {
   return 301 /funny-clips;
}

它可以工作,但如果它有“aji-e-boshonte”

它不工作。

谁能帮忙?我也有多个传入规则来重定向单个路由。例如/ tv/movie/comedy(with slug) to /funny-clips 每次规则我都需要写吗?

【问题讨论】:

    标签: nginx rewrite


    【解决方案1】:

    location = 查找完全匹配。您需要使用前缀位置或正则表达式位置。例如,要将/watch/tv-commercial/path/to/file 重写为http://m.example.com/funny-clips/path/to/file,您可以使用:

    location ~* ^/watch/tv-commercial/(.*)$ {
      return $scheme://m.example.com/funny-clips/$1$is_args$query_string;
    }
    

    详情请参阅this documentthis document

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-06
      • 2015-03-04
      • 2013-08-05
      相关资源
      最近更新 更多