代码之家  ›  专栏  ›  技术社区  ›  Codemonkey

如何在解析查询字符串的同时进行nginx重定向?

  •  0
  • Codemonkey  · 技术社区  · 4 年前

    其他一些网站多年前复制并粘贴了我的HTML,作为在他们的页面上嵌入我的部分产品的一种方式,现在当人们点击过时的链接时,我会遇到错误。所以我想重定向自

    https://www.example.com/entity1234/seo-friendly-title-here/?item=3
    

    https://www.example.com/entity1234/seo-friendly-title-here/filters/item3/
    

    我试过了

    location ~ "^(.*)/entity([0-9]+)/([^/]+)/\?item=([0-9]+)$" {
        return 301 $1/entity$2/$3/filters/item$4/;
    }
    

    但正如你所知,我现在也知道,在位置块上进行匹配时,查询字符串会从URL中删除。那么我该怎么做呢?

    搜索其他问题似乎向我展示了一些例子,在这些例子中,我可以用$args变量将整个查询字符串附加到重定向中,或者使用if条件做点什么,但“if is evil”等等。请告诉我正确的方法!

    0 回复  |  直到 4 年前