有时候需要访问服务器上的一些静态资源,比如挂载其他设备上的图片到本地的目录,而本地的目录不在nginx根目录下,这个时候就需要简单的做一下目录映射来解决,比如想通过浏览器http://ip/image/2016/04/29/10/abc.jpg访问到系统目录/image_data/2016/04/29/10/abc.jpg需要在nginx.conf中添加location规则,配置如下:
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location /image/ {
root /;
rewrite ^/image/(.*)$ /image_data/$1 break;
}
}
location /image/设置服务器拦截含有/image/的请求,实际上范围根据实际情况确定精确度。
root /;设定作用的根目录。
rewrite就是真正的跳转规则,设置以image为开头的请求跳转到/image_data开头的根目录,后面的参数原封不动的添加过去,这样就实现了目录的映射。
保存之后使用 ./nginx -s reload 重新载入配置文件,访问指定的url就访问到了。