nginx location 配置

nginx location指令详解

通过指定模式来与客户端请求的URI相匹配,基本语法如下:location [=|||^~|@] pattern{……}*

1、没有修饰符模糊匹配 :以指定模式开始:

server {
  server_name www.80shihua.com;
  location /aabbcc {
    ……
  }
}

那么,如下是对的:
http://www.80shihua.com/aabbcc
http://www.80shihua.com/aabbcc?s=1
http://www.80shihua.com/aabbcc/
http://www.80shihua.com/aabbccc</pre>

2、=精确匹配:

server {
server_name www.80shihua.com
  location = /aabbcc {
    ……
  }
}
正确:
http://www.80shihua.com/aabbcc
http://www.80shihua.com/aabbcc?s=1

错误:
http://www.80shihua.com/aabbcc/
http://www.80shihua.com/aabbcc</pre>

3、~区分大小写匹配 :

server {
server_name baidu.com;
  location ~ ^/aabbcc$ {
    ……
  }
}
正确:
http://www.80shihua.com/aabbcc
http://www.80shihua.com/aabbcc?s=1

错误:
http://www.80shihua.com/Aabbcc/
http://www.80shihua.com/AaBbcc</pre>

4、~* 表示:指定的正则表达式不区分大小写

server {
server_name baidu.com;
  location ~* ^/aabbcc$ {
    ……
  }
}
正确:
http://www.80shihua.com/Aabbcc
http://www.80shihua.com/Aabbcc?s=1
http://www.80shihua.com/aaBbcc
http://www.80shihua.com/aAbbCc</pre>

5、root 、alias指令区别

location /img/ {
alias /var/www/image/;
}

若按照上述配置的话,则访问/img/目录里面的文件时,ningx会自动去/var/www/image/目录找文件</pre>

location /img/ {
root /var/www/image;
}

若按照这种配置的话,则访问/img/目录下的文件时,nginx会去/var/www/image/img/目录下找文件。</pre>

alias是一个目录别名的定义,root则是最上层目录的定义。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容