Nginx重写URL的一部分

我试图从URL的选项IDredirect到URL的选项URL_key我已经分配。

我有两个列ID与ID我想replace和URL_key作为替代。

11337酒吧11419餐厅11399咖啡厅15477绘画

我现在有这些url

ifab.ru/art/kartiny/location/11399/style/15477

我想redirect到:

ifab.ru/art/kartiny/location/cafe/style/painting

你可以说我可以把网站上的所有url都replace成replaceurl,但是它们是自动生成的,而且每个url的组合可能都不一样,所以我想抓住这个ID并把它改写成URL_key。

任何想法和解决scheme,赞赏。

我们在nginx上运行我们的服务器,没有apache。

这应该工作:

map $loc $loc_text { 11337 bar; 11419 restaurant; } map $style $style_text { 15477 painting; } rewrite ^/art/kartiny/location/(?P<loc>\d+)/style/(?P<style>\d+)$ /art/kartiny/location/$loc_text/style/$style_text redirect; 

另见http://nginx.org/en/docs/http/server_names.html#regex_names