1.Nginx中location与rewrite
1.1 location与rewrite常用的正则表达式
1.2 location与rewrite的联系和区别
rewrite :对访问的域名或者域名内的URL路径地址重写
location:对访问的路径做访问控制或者代理转发
从功能看 rewrite 和 location 似乎有点像,都能实现跳转,主要区别在于 rewrite 是在同一域名内更改获取资源的路径,而 location 是对一类路径做控制访问或反向代理,还可以proxy_pass 到其他机器
2.location的匹配规则
2.1 location的匹配分类与常用规则
location 大致可以分为三类:精准匹配” location = / {…} ” ,一般匹配” location / {…} “和正则匹配” location ~ / {…} “。在nginx.conf的配置文件中location默认使用的是通用匹配 “location /{…..}”
2.2 location 示例说明与规则优先实验
示例一:精准匹配
=为精确匹配 / ,主机名后面不能带任何字符串,例如想访问该location制定的匹配网页时,只能访问该主机IP或域名下的”/”(网页也只能存放在/var/www/html/ 下),而像”/abc,/data,/test“这一类和location等于号后面路径有任何一点差别的,都不会被匹配到。该匹配方式优先级最高,一旦匹配成功则立即采用
示例二:通用匹配
因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求.用户只要是能访问到该主机的IP或域名,即使不输入路径,也能匹配到相关的网页信息。(文件只要是存放在/var/www/html 中,或则更深的目录也能被匹配到。例如:/var/www/html/test/ 下存放网页,用户访问/test 也能够匹配访问到相关网页)该匹配方式为location匹配中优先级最低的方式,只有其他location匹配方式均为成功,才会采用该方式
示例三:一般匹配
示例四: 正则匹配与前缀^~匹配
示例五:正则匹配与一般匹配
示例六:前缀^~匹配与一般匹配
2.3 location匹配规则顺序总结
2.4 location的运用拓展
3.rewrite 重写
3.1 rewrite 的功能介绍
3.2 rewrite的跳转实现与执行顺序
3.3 rewrite在nginx.conf 中的语法格式
3.4 rewrite运用示例
示例一:基于域名的跳转
示例二:基于客户端 IP 访问跳转
示例三:基于旧域名跳转到新域名后面加目录
示例四:基于参数匹配的跳转
示例五:基于目录下所有 php 结尾的文件跳转
示例六:基于最普通一条 url 请求的跳转
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。