大佬教程收集整理的这篇文章主要介绍了rewrite和localhost,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从功能上看rewrite 和 LOCATIOn 似乎优点像,都能实现跳转,主要区别在于 rewrite 是在同一个域名内更改获取资源的路径,而LOCATIOn 是对一类路径做控制访问或反向代理,还可以proxy_pass 到其他机器
LOCATIOn:用于匹配用户访问请求的URL,来使用哪一个目录中的网页资源
rewrite ... peRMANent:修改url后重定向再次请求访问
rewrite /weihu.html 按照修改域名后的url直接跳转到对应的LOCATIOn
rewrite 如果对全url重写,重写部分就要以http://...
如果不以http://... 开始重写,默认只对域名后传递参数前的部分重写
=:进行普通字符精确匹配,也就是完全匹配
^~:表示普通字符匹配。使用前缀匹配。如果匹配成功,则不再匹配其他LOCATIOn
~:区分大小写的匹配
~*:不区分大小写的匹配
!~:区分大小写的匹配取非
!~*:不区分大小写的匹配取非
首先精确匹配 =
其次前缀匹配 ^~
其次是按文件中的顺序的正则匹配~或~*
然后匹配不带任何修饰的前缀匹配
最后交给/通用匹配
=为精确匹配 / ,主机名后面不能到任何字符串,比如访问 / 和 /date , 则 / 匹配,/date 不匹配
再比如 LOCATIOn = /abc,则只匹配/abc,/abc/ 或 /abcd 不匹配 。若 LOCATIOn /abc , 则即匹配/abc 、/abcd/ 同时也匹配
因为所有的地址都以 / 开头,所以这条规则匹配将匹配到所有的请求 比如访问 / 和 /date,则 / 匹配,/date 也匹配
但若后面是正则表达式会和最长字符串优先匹配(最长匹配)
匹配任何以/documents/开头的地址,匹配符合以后,还要继续往下搜索其他LOCATIOn
只有其他LOCATIOn后面的正则表达式没有匹配到时,才会采用这一条
匹配任何以/documents/abc开头的地址,匹配符合以后,还要继续往下搜索其他LOCATIOn
只有其他LOCATIOn 后面的正则表达式没有匹配到时,才会采用这一条
匹配任何以 /images/ 开头的地址,匹配符合以后,停止往下搜索正则,采用这一条
匹配所有以gif 、jpg或jepg结尾的请求
然而,所有请求 .images/ 下的图片会被 LOCATIOn ^~ /images/ 处理,因为^~ 的优先级更高,所以到达不了这一条正则
最长字符匹配到/images/abc,优先级最低,继续往下搜索其他LOCATIOn,会发现^~ 和 ~ 存在
匹配以/images/abc 开头的,优先级次之,只有去掉LOCATIOn ^~ /images/ 才会采用这一条
匹配/images/abc/1.html 文件,如果和正则LOCATIOn ~ /images/abc/1.html 相比,正则优先级更高
直接匹配网站根,通过域名访问网站首页比较频繁,使用这个会加速处理,比如说官网
可以是一个静态首页,也可以是直接转发给后端应用服务器
有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用
比如用来转发带.php、.jsp后缀的动态请求到后端应用服务器
非静态文件请求就默认是动态请求
使用Nginx提供的全局变量或自己设置的变量,结合正则表达式和标记位实现URL重写以及重定向。
比如:更换域名后需要保持旧的域名能跳转到新的域名上、某网页发生改变需要跳转到新的页面、网页防盗链等等需求
rewrite只能放在server{},LOCATIOn{},if{}中,并且默认只能对域名后边的除去传递参数外的字符串起作用
例如:http://www.zyp.com/abc/bbs/index.php?a=1&b=2 只对/abc/bbs/index.php重写
以上是大佬教程为你收集整理的rewrite和localhost全部内容,希望文章能够帮你解决rewrite和localhost所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。