首页 > 系统相关 >Nginx匹配@符号的作用

Nginx匹配@符号的作用

时间:2023-02-19 10:56:31浏览次数:39  
标签:files www 匹配 符号 uri try Nginx location http

Nginx匹配@符号的作用


@ 符号, 用于定义一个Location块,且该块不能被外部Client所访问,只能被Nginx 内部配置指令所访问,比如 try_files 或 error_page.
error_page 400 = @fallback; location @fallback { proxy_pass http://www.linuxhub.org; }
# 如果URI不存在,则把请求代理到www.linuxhub.org上去做个弥补
location / { try_files $uri @linuxhub; } location @linuxhub { proxy_pass http://www.linuxhub.org; } ------------------------------------ loaction / { try_files $uri @apache }
loaction @apache{ proxy_pass http://127.0.0.1:99 include aproxy.conf }   try_files方法让Nginx尝试访问后面得$uri链接,并进根据@apache配置进行内部重定向。 当然try_files也可以以错误代码赋值,如try_files /index.php = 404 @apache,则表示当尝试访问得文件返回404时,根据@apache配置项进行重定向。
注意try_files的作用域时loaction.
2、Nginx的配置语法灵活,可控制度非常高。在0.7以后的版本中加入了一个try_files指令,配合命名location,可以部分替代原本常用的rewrite配置方式,提高解析效率。
作用域:server location   location / { root /var/www/build; index index.html index.htm; try_files $uri $uri/ @rewrites; }   location @rewrites { rewrite ^(.+)$ /index.html last; }   try_files $uri $uri/ @aaaaa; 这句话是什么意思? try_files从字面上理解就是尝试文件,再结合环境理解就是“尝试读取文件”,那他想读取什么文件呢, 答:读取静态文件
uri这个是nginx的一个变量,存放着用户访问的地址 , 比如 : http ://www.xxx.com/index.html, 那么uri这个是nginx的一个变量,存放着用户访问的地址, 比如:http://www.xxx.com/index.html, 那么uri这个是nginx的一个变量,存放着用户访问的地址,比如:http://www.xxx.com/index.html,那么uri就是 /index.html
uri/代表访问的是一个目录 ,比如 : http://www.xxx.com/hello /test/, 那么uri/代表访问的是一个目录,比如:http://www.xxx.com/hello/test/ ,那么uri/代表访问的是一个目录,比如:http://www.xxx.com/hello/test/,那么uri/就是 /hello/test/
完整的解释就是:try_files 去尝试到网站目录读取用户访问的文件,如果第一个变量存在,就直接返回; 不存在继续读取第二个变量,如果存在,直接返回;不存在直接跳转到第三个参数上。
比如用户访问这个网地址:http://www.xxx.com/test.html try_files首先会判断他是文件,还是一个目录,结果发现他是文件,与第一个参数 $uri变量匹配。 然后去到网站目录下去查找test.html文件是否存在,如果存在直接读取返回。如果不存在直接跳转到第三个参数,而第三个参数是一个location,而这个location里面配置的就是rewrite规则。  

标签:files,www,匹配,符号,uri,try,Nginx,location,http
From: https://www.cnblogs.com/pugang/p/17134348.html

相关文章

  • nginx原理学习--6
    nginx的请求处理阶段 接收请求流程  http请求格式简介 首先介绍一下rfc2616中定义的http请求基本格式: Request=Request-Line*((general-hea......
  • nginx配置无限个子域名
    nginx配置多个子域名功能:不管多少个子域名demo.liaosp.top/还是demo2.liaosp.top在servername添加域名,*的域名在前面修改:server_name*.daishua.liaosp.topdaishua.li......
  • nginx 原理学习--5
    nginx的源码目录结构(100%)nginx的优秀除了体现在程序结构以及代码风格上,nginx的源码组织也同样简洁明了,目录结构层次结构清晰,值得我们去学习。nginx的源码目录与nginx的......
  • Nginx:动静分离、压缩、缓存、黑白名单、跨域、高可用、性能优化
    引言一、性能怪兽-Nginx概念深入浅出二、Nginx环境搭建三、Nginx反向代理-负载均衡四、Nginx动静分离五、Nginx资源压缩六、Nginx缓冲区七、Nginx缓存机制八、Ngi......
  • Java正则匹配域名白名单
    在上一篇文章《通用正则表达式开源工具,为开源绵尽薄力》中,我们介绍了很多正则表达式的实例,工作中大家也经常遇到新的规则需要匹配,今天就看一下检测域名白名单的几种方式......
  • Nginx 系列1 --- 安装
    一、环境1.CentOS7.920092.Nginx1.22.1二、安装1.安装依赖sudoyuminstallyum-utils-y2.配置yum仓库sudovi/etc/yum.repos.d/nginx.repo初始化ngi......
  • openEler离线安装nginx
    1.场景描述项目要部署到新的服务器上,需要安装nginx,刚好安全部门通知了nginx存在安全漏洞(Nginx整数溢出漏洞,nginx1.13.2之后的版本无问题),就下载最新的nginx进行了安装,介绍下......
  • nginx启用http2不生效
    Nginx启用http2不生效,可以检查openssl版本是不是过低查看当前openssl版本opensslversionOpenSSL1.0.1e-fips11Feb2013查看完版本可知,当前版本是1.0.1的,版本过老,需......
  • 【转】nginx配置404页面拦截
    原文:https://www.jianshu.com/p/f4fc1e1b91d2友好提示,统一处理    在项目中,当不存在的路径访问时,会提示404,这个错误提示不友好,如下:image.png这个时候,我们就......
  • nginx 原理学习--4
    core模块Nginx的模块除了HTTP模块,还有一些核心模块和mail系列模块。核心模块主要是做一些基础功能,比如Nginx的启动初始化,event处理机制,错误日志的初始化,ssl的初始化,正则处......