蒙国造博客

Nginx root和alias的区别

rootalias的主要区别是:

例如,

有一张图片,URL是:garymeng.com/static/a.jpg

它在服务器的路径是:/var/www/app/static/a.jpg

那么用root的配置是:

location /static/ {
    root /var/www/app/;
}

alias的配置就是:

location /static/ {
    alias /var/www/app/static/;
}

对于aliaslocation值可以随便取,例如:

location /hello/ {
    alias /var/www/app/static/;
}

这样,我们访问图片的地址就是:garymeng.com/hello/a.jpg
注意:

  1. 很多文章说:alias 后面必须要用 “/” 结束,是错误的,亲测加不加/效果是一样的。
  2. alias在使用正则匹配时,必须捕捉要匹配的内容,并在指定的内容处使用
  3. alias只能位于location块中,root可以不放在location中。
退出移动版