我是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
所以,例如:
用户将请求这个URL www.cats.com/assets/superfile.png
用户将看到相同的URL。
您需要使用alias
:
location /assets/ { alias /communities/$host/; }