一、区别

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服务。访问如下结果显示:
在这里插入图片描述

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐