科技大本营|Nginx系列:root与alias指令用法的区别

root和alias属于nginx的核心模块ngx_http_core_module的两个指令 。 从官网的如下链接看到root和alias
#root#alias的基本语法

  • root指令语法
语法:root path;默认值:root html;配置段:http, server, location, if in location
  • alias指令语法
语法:alias path;默认值:—配置段:location从语法上看root和alias指令都可以定义在location模块中 , 都是用来指定映射服务器静态资源文件的命令 。 例如 , 访问的html文件、视频、图片文件等都可以通过root和alias指令配置访问 。 虽然使用方法比较相似 , 但是非常容易混淆 , 特别是root命令的使用方式 , 经常会被误解 。
0x01:root与alias用法演示
root配置如下
location /blog/ {root /usr/local/nginx/html;index index.html index.htm;}请求这个地址时 , 那么在服务器里面对应的真正的资源是 /usr/local/nginx/html/blog/root.html文件 。 可以发现真实的路径是root指定的值加上location指定的值 。
科技大本营|Nginx系列:root与alias指令用法的区别alias配置如下
【科技大本营|Nginx系列:root与alias指令用法的区别】location /blog/ {alias /usr/local/nginx/html/;index index.html index.htm;}同样请求时 , 在服务器查找的资源路径是:/usr/local/nginx/html/alias.html 。 正如其名 , alias指定的路径是location的别名 , 不管location的值怎么写 , 资源的真实路径都是alias指定的路径. 。
科技大本营|Nginx系列:root与alias指令用法的区别注:可以把/usr/local/nginx/html/alias.html目录下的alias.html移到/usr/local/nginx/html/blog/alias.html目录下 , 在访问 , 直接返回404.html
科技大本营|Nginx系列:root与alias指令用法的区别0x02:root、alias与location