您当前的位置:首页 > 计算机 > 服务器 > Nginx

文件路径 alias与root区别

时间:11-21来源:作者:点击数:
CDSY,CDSY.XYZ

本文详细解析了Nginx中root与alias指令的区别,包括它们如何处理location后的URI,以及如何设置资源路径。同时介绍了如何使用index指令访问首页,并展示了如何根据HTTP返回码进行重定向。

alias与root区别:

root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

root的处理结果是:root路径+location路径

alias的处理结果是:使用alias路径替换location路径

 

alias是一个目录别名的定义,root则是最上层目录的定义。还有一个重要的区别是alias后面必须要用"/"结束,否则会找不到文件的。。。而root则可有可无

 

使用alias标签的目录块中不能使用rewrite的break

(1)以root方式设置资源路径    实际路径是root+请求路径。

语法:root path;
默认:root html;
配置块:http、server、location、if
location /download {
    root /etc/nginx;
}

请求的URI为https://10.21.144.110/download/,web服务器返回/etc/nginx/download/index.html的内容

location /installpack {
    root /etc/nginx;
}

请求的URI为https://10.21.144.110/installpack/10.21.144.110/diagent_setup32.zip,web服务器返回/etc/nginx/installpack/10.21.144.110/diagent_setup32.zip的内容

(2)以alias方式设置资源路径  实际路径是alias后的,不包含请求路径

语法:alias path;
配置块:location
location /download {
    alias /etc/nginx/download/;
}

请求的URI为https://10.21.144.110/download/,web服务器返回/etc/nginx/download/index.html的内容

(3)访问首页

语法:index file...;
默认:index index.html;
配置块:http、server、location
访问站点的URI是/,这时一般返回首页,index后可以跟多个文件参数,Nginx会按照顺序访问这些文件
location / {
    root path;
    index.html htmlindex.php 、index.php;;
}

Nginx首先访问path/index.html,若可以访问直接返回文件内容结束请求,否则尝试返回path/htmlindex.php内容,依次类推

(4)根据HTTP返回码重定向

语法:error_page code[code...][=|=answer-code]uri|@named_location
配置块:http、server、location、if

error_page 404 = @not_found
location @not_found {
      rewrite http://google.com;
}
#上述的作用是如果访问没有匹配的url会触发404指令,然后就匹配到@not_found 这个 location上。
CDSY,CDSY.XYZ
方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐