Nginx 之 location (root / alias)区别

1,222次阅读

共计 630 个字符,预计需要花费 2 分钟才能阅读完成。

location配置

1、语法规则(按优先级)

=        表示精确匹配,优先级最高

^~      表示uri以某个常规字符串开头,用于匹配url路径(而且不对url做编码处理,例如请求/static/20%/aa,可以被规则^~ /static/ /aa 匹配到(注意是空格))

~        表示区分大小写的正则匹配

~*      表示不区分大小写的正则匹配

!~       表示区分大小写不匹配的正则

!~*     表示不区分大小写不匹配的正则

/         表示通用匹配,任何请求都会匹配到

root&alias文件路径配置

root/alias  是指定文件路径的两种方式,主要区别就是怎么解析location后面的uri

例如:

访问    http://172.20.2.10/data/www/html/index.html

root:

location /data/www/html{
    root /var/www/html;
}

这个 location 相当于访问服务器上的文件路径: /var/www/html/data/www/html/index.html

Nginx 之 location (root / alias)区别

alias:

location /data/www/html{
    alias /var/www/html/;
}

这个location相当于访问服务器上的文件目录:/var/www/html(即 alias 不会使用 location 后面配置的路径)

而且alias 指定的目录名后面一定要加上  “/”

Nginx 之 location (root / alias)区别

 

注意:

curl 命令支持 301 跳转,即 访问 301 跳转后的URL,需要加 -L 参数,如上图

正文完
 
mervinwang
版权声明:本站原创文章,由 mervinwang 2018-10-30发表,共计630字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
文章搜索