关于 nginx 的配置的 location
来源:互联网 发布:mac无法搜索移动硬盘 编辑:程序博客网 时间:2024/06/05 15:09
精准匹配和普通匹配:
server{
location =/index.htm{ ////精准匹配
root /var/www/html ////root 指向的目录 也可以写在外面,这样的意思就是 server 的 公共目录,location 可以单独指向一个目录。
index index.htm index.html
}
location =/{
root /var/www/html
index index.htm index.html
}
location /index.htm { ////正则匹配
root /usr/local/src/nginx/html
index index.htm index.html
}
}
如果你在浏览器输入一个 192.168.1.200 访问,服务器会把 url 看做 /,这样就会精准配准第二个 location,然后 url 就被服务器转换成 192.168.1.200/index.htm ,然后访问,再次匹配,又被精准定位第一个 location,然后访问,没有可以匹配的 location 就直接访问到 /var/www/html/index.htm 页面
我的猜测是,如果没有指定具体访问页面,会默认当做访问的是 location 里的 index 第一个指定的页面。
正则匹配和普通匹配:
server {
location /{
root html;
index index.html index.htm;
}
location ~ image{
root /var/www/
index index.html;
}
}
第二段 location 是正则匹配,当 url 中包含 image 就会指向 /var/www 目录【这就是动静分离、img 的 src 也会触动 location】。其实第一个 location 也会进行匹配,因为第一个 / 符合第一个 location 的规则,但是在跳转访问时会匹配到第二个 location 会覆盖前面第一个定位的地址。
注意:
普通匹配是谁匹配的长就是谁的为主。
正则匹配是按照从上往下顺序执行的。
总结:
如果 root 指向的目录写在 server 里面,且 location 里面没有指定 root ,就会按照 server 全局里面的当做根目录。
location 就是匹配 url,无论是域名还是 ip 都会看成一个 /。后面的路径就是我们写的规则来匹配。
location 的命中过程是这样的:1、先判断精准命中,如果命中,立即返回结果并结束解析过程。2、判断普通命中,如果多个命中,记录下最长的命中结果(记录但不结束,最长的为准)。继续判断正则表达式的解析结果,按配置里的正则表达式的顺序为准,由上到下开始匹配,一旦匹配成功 1 个,立即返回结果,并结束解析过程。
0 0
- 关于 nginx 的配置的 location
- Nginx的location配置
- Nginx的location配置
- nginx的location配置
- nginx location的配置
- nginx location的配置
- 关于nginx的location匹配
- nginx的location配置详解
- nginx的location配置详解
- nginx的location配置详解
- nginx 的 location 配置优先级
- nginx的location配置总结
- nginx的location配置详解
- Nginx 的 Location 配置指令块
- Nginx 的 Location 配置指令块
- Nginx的location和rewrite配置语法
- Nginx 的 Location 配置指令块
- nginx 代理服务器location的配置规则
- JS实现随机验证码功能
- 算法18:实现memmove函数
- kmp 公共子串出现3次
- Java 中的 Reference
- C# 如何实现单侧
- 关于 nginx 的配置的 location
- 深度学习Matlab工具箱代码详解
- 3D激光扫描三维重建——1.matlab相机标定
- 近200篇机器学习&深度学习资料分享(小象学院)
- Josephu问题
- 编译&链接
- linq 分组返回指定格式对象
- 找出数组中只出现一次的数字
- thinkphp 3.2.3的/Think/Upload 和 /Think/Image实例