由于工作原因,经常用到nginx,经过不断总结,在此汇总下nginx的url映射部分的特点和规律。
文件存储及调用url:
文件存放路径:D:\attached\attached\image\1571.jpg
调用的url为:http://localhost/attached/image/1571.jpg
一:rewrite写法
rewrite需要root配合,两种方式:
方式1:
location /attached/ { root /; rewrite ^/image/(.*)$ d://attached/$1 break; autoindex on; #启用目录索引功能 autoindex_exact_size off; autoindex_localtime on; }
如上所示,这里的root为:/,即:盘符位置,假如我的nginx安装在D盘,那么这里就是指向D盘。
方式2:
location /attached/ { root D:/attached/; #使用 nginx rewrite 指令 rewrite ^/image/(.*?)$ /$1 break; }
二:alias写法
指定root时:
location / { root D:\attached\attached; index index.html index.htm; } location ^/image/ { alias \image; autoindex on; }
指定root,而alias随便写:
location / { root D:/attached/attached; index index.html index.htm; } location ^/image/ { alias sdsdsfddfsdfs; autoindex on; }
url同样为:http://localhost/image/1571.jpg,也能访问成功。
不指定root,而直接用alias:
location /attached/ { alias D:/attached/attached/; autoindex on; }
三:总结
root:nginx的配置文件中的root,如果没有指定,则指向nginx安装目录的html文件夹。
rewrite模式:
如果根目录不是nginx安装目录,则需要root和重写配合。
alias模式:
nginx的查找路径规律为:root路径和alias路径二选一。lacation后面的是虚拟目录,一般不用root,直接指定alias的写法比较常见。
以上如有错误,欢迎指出!