我服务器与Nginx的静态文件。 我想做什么,当有人浏览
http://foo.bar.com/
他被redirect到
http://bar.com
但是当我访问静态文件本身时,它应该服务该文件,如:
http://foo.bar.com/blog/main.css
有什么build议?
谢谢!
首先你需要2个服务器块,一个用于foo.bar,一个用于bar。
在foo.bar服务器块中,然后指定几个位置。
location / { rewrite ^ http://bar.com } location ~ ^/blog/.+\.(jpg|css|png)$ { try_files $uri @rewrite; } location @rewrite { rewrite ^ http://bar.com }
Nginx的位置工作的特异性,所以正则expression式的位置将使用之前的位置/如果URI匹配,我们检查文件是否存在,如果它确实服务它,否则我们将redirect任何方式。
我强烈build议你去阅读维基,因为所有这些都是在那里指定的,它应该可以帮助你彻底理解这一点。