Nginx的location使用

location路径匹配

绝对匹配
location = /abc.html {
    root /usr/share/nginx/html/;
}

请求地址:http://localhost/abc.html

  • 匹配路径:/usr/share/nginx/html/abc.html
  • 最=绝对匹配里,index 引导页面显示是无效的
匹配根路径
location / {
        root /usr/share/nginx/html/;
        index  /demo_a.html;
}

请求地址:http://localhost/index.html

  • 匹配路径:/usr/share/nginx/html/index.html
匹配文件
location /documents/ {
        root /usr/share/nginx/html/;
        index  /demo_a.html;
}

1.以上规则请求地址:http://localhost/documents/demo_a.html

  • root匹配路径:/usr/share/nginx/html/documents/demo_a.html
  • alias匹配路径:/usr/share/nginx/html/demo_a.html
  • 如果demo_a前面或html后面没有/,则匹配路径:/usr/share/nginx/htmldemo_a.html
location /documents {
        alias /usr/share/nginx/html/;
        index  /demo_a.html;
}

2.以上规则请求地址:http://localhost/documentstest/demo_a.html

  • 如果document后面的/去掉,匹配:/usr/share/nginx/html/test/demo_a.html,可以看到nginx自动分割了documentstest
匹配图片
location ^~ /images/ {
    alias /usr/share/nginx/html/;
}

请求地址:http://localhost/images/demo_b.jpg

  • root匹配路径:/usr/share/nginx/html/images/demo_b.jpg
  • alias匹配路径:/usr/share/nginx/html/demo_b.jpg
  • 如果html后面没有/,则匹配:/usr/share/nginx/htmldemo_b.jpg
后缀匹配
location ~* \.(gif|jpg|jpeg)$ {
    root /usr/share/nginx/html/;
}

请求地址:http://localhost/documents/1.jpg

  • 匹配路径:/usr/share/nginx/html/b.jpg

location命令

路径匹配命令

匹配的优先级,从上至下

  1. 【=】 精确匹配
  2. 【^~】普通字符前缀匹配,就不检查正则表达式
  3. 【~】 区分大小写的正则匹配
  4. 【~*】 不区分大小写的正则匹配
文件匹配命令

alias
去掉location匹配的路径,然后去匹配服务器文件的目录

root
拼接location匹配的路径,请求路径+root地址去匹配服务器文件路径

try_files
作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

参数信息

请求地址:http://localhost/documents/demo.html?id=1

  • 打印 $request_uri得到:/documents/demo.html?id=1
  • 打印 $uri得到:/documents/demo_a.html
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值