如何重定向到nginx,具体取决于URL的部分?

时间:2016-03-08 17:06:07

标签: redirect nginx request webserver rewrite

欢迎问题的实质。 我们有一条路径

site.com/seveniry-dlya-turistov/...

(其中......是字符代码特定记录(商品),并且在它前面,正如您可能猜到的那样 - 本文的部分) 那些在site.com网站上展示的游客纪念品"纪念品的页面。

我需要重定向此类型: 如果有.../eveniry-dlya-turistov/..请求替换.../seveniry/...名称中的章节标题,请查看是否有

请求
site.com/seveniry-dlya-turistov/elemnet1/

我们必须进行301重定向

site.com/seveniry/elemnet1/

请告诉我该怎么做,为什么不能那样工作......

location /catalog {
    rewrite ^/catalog/souvernirs-for-tourists/(.*)$ http://SITE-NAME/suveniry/$1 permanent;
}

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

应该像

rewrite ^/seveniry-dlya-turistov/(.*)$ /seveniry/$1 last;

但是你需要测试确切的正则表达式,因为没有测试就很难做到头部。 nginx将寻找另一个匹配/ seveniry / $ 1的位置块来提供内容。