nginx

关注公众号 jb51net

关闭
首页 > 网站技巧 > 服务器 > nginx > Nginx配置中root和alias的区别

Nginx配置中root和alias的区别及说明

作者:tuonioooo

这篇文章主要介绍了Nginx配置中root和alias的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Nginx配置中root和alias区别

root和alias都可以定义在location模块中,都是用来指定请求资源的真实路径,比如:

location /i/ {  
    root /data/w3;
}

请求 http://foofish.net/i/top.gif 这个地址时,那么在服务器里面对应的真正的资源

/data/w3/i/top.gif文件

注意:真实的路径是root指定的值加上location指定的值 。

而 alias 正如其名,alias指定的路径是location的别名,不管location的值怎么写,资源的 真实路径都是 alias 指定的路径 ,比如:

location /i/ {  
  alias /data/w3/;
}

同样请求 http://foofish.net/i/top.gif 时,在服务器查找的资源路径是: /data/w3/top.gif

其他区别

1、 alias 只能作用在location中,而root可以存在server、http和location中。

2、 alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 ”/” 可有可无。

root 与 alias使用

假如服务器路径为:/home/imooc/files/img/face.png

root 路径完全匹配访问

配置的时候为:

location /imooc {
    root /home
}

用户访问的时候请求为:url:port/imooc/files/img/face.png

alias可以为你的路径做一个别名,对用户透明

配置的时候为:

location /hello {
    alias /home/imooc
}

用户访问的时候请求为:url:port/hello/files/img/face.png,如此相当于为目录imooc做一个自定义的别名。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文