nginx位置redirect到名称为请求域的文件夹

我是nginx新手,我想这样做:

If the URL contains "/assets" redirect to "/communities/$url_domain" 

换一种说法:

 Requested: "http://www.cats.com/assets/superfile.png" Redirected:"http://www.cats.com/communities/cats.com/superfile.png" 

这是超级简单但不起作用的东西。

我做了什么

 location /assets { root /communities/$host; } 

但每当我尝试从/资产访问文件,我得到一个

 404 Not Found nginx/1.8.1 

我做错了什么?
谢谢!

编辑:

我激活日志,看到这个:

 2016/02/10 17:27:16 [error] 31#0: *1 open() "/communities/www.cats.com/assets/superfile.png" failed (2: No such file or directory), client: 192.168.1.254, server: _, request: "GET /assets/superfile.png HTTP/1.1", host: "www.cats.com" 

我会调查更多如果我可以提取url的域名部分

编辑2
目录结构

 / --/communities/ --------------/cats.com/ ---------------------superfile.png --------------/dogs.com/ ---------------------superfile.png 

所以,例如:

  1. 用户将请求这个URL www.cats.com/assets/superfile.png

  2. 用户将看到相同的URL。

  3. Nginx内部将寻找: www.cats.com/communities/cats.com/superfile.png

您需要使用alias

 location /assets/ { alias /communities/$host/; }