如何使用NGINX映射多个URI?

时间:2012-10-08 19:34:30

标签: nginx

我有很多UUID引用相应的项目路径。我正在使用rewrite来映射它们:

rewrite ^/3a498981-a790-50ec-b53d-227e33023564/(.*)$ "/undisclosed/$1" last;
rewrite ^/b78c76de-9ab7-5d0e-81b9-d8b73d8afc4b/(.*)$ "/undisclosed/$1" last;
rewrite ^/1e4d143d-a3ec-5110-80e2-5e5212f93779/(.*)$ "/undisclosed/$1" last;
rewrite ^/858b33b7-bd66-507b-a9f1-533e4de79ba3/(.*)$ "/undisclosed/$1" last;
rewrite ^/451b5b98-4ebb-552d-867d-5dd685cd1810/(.*)$ "/undisclosed/$1" last;
rewrite ^/703dff31-b9be-543f-b6c6-61ae7fb4dd32/(.*)$ "/undisclosed/$1" last;

undisclosed始终是不同的路径,映射/[client name]/[project name]。但是,已经有超过90个UUID,到今年年底这个数字将增加到400+。

是否有专门的方法来解决这个问题?

1 个答案:

答案 0 :(得分:1)

如果我理解正确,那么:

  1. 你有90种不同的UUIDS(期望数量增长)
  2. 每个UUID映射到不同的/ clientname / projectname / $ 1路径
  3. 如果是这样,那意味着每个UUID都有1个重定向,故事结束。

    您可以将映射从Web服务器移动到某个动态页面,但这只是将问题从1个配置移动到另一个(尽管如果您已经在某些配置DB中定义了映射,那么您应该能够通过以下方式自动执行映射查询它)