一、区别
Nginx指定文件路径有两种方式root和alias,这两者的用法区别在于对URI的处理方法不同。
二、举例说明1
alias:
location /i/{
alias /usr/local/nginx/html/admin/;
}
#若按照上述配置的话,则访问/i/目录里面的文件时,ningx会自动去/usr/local/nginx/html/admin目录找文件。
root:
location /i/ {
root /usr/local/nginx/html/admin;
}
#若按照这种配置的话,则访问/i/目录下的文件时,nginx会去/usr/local/nginx/html/admin/i下找文件。
(1)、alias是一个目录别名的定义,root则是最上层目录的定义。
(2)、还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。而root则可有可无。
三、举例说明2
1、修改nginx.conf配置文件如下内容
server {
listen 80;
server_name www.jason3.com;
access_log logs/access.log main;
location /i {
index index.html;
alias/usr/local/nginx/html/admin;
}
location ~ ^/i/(.+\.(?:gif|jpe?g|png))${
alias /usr/local/nginx/html/admin/$1;
}
2、页面根目录/usr/local/nginx/html/admin设置图片及index.html页面。
3、完成配置后启动nginx服务。访问如下结果显示: