首页
学习
活动
专区
圈层
工具
发布

Nginx Location

壹 ---- 不知不觉 nginx主题的文章写了60+篇,有最早的也有最近的,有些是记录安装配置,有些是记录问题解决方法,内容质量有深也有浅参差不齐,随着技术迭代有些文章已经过时了(例如Docker时代...)不再符合当前的技术需求,而有些文章虽然久远但是仍有有意义(例如Nginx HA),所以有了梳理这些文章的想法,目标有两个吧,一是回顾下过去的文章巩固下知识点,二是去其糟粕留下精华将有价值的文章搬迁(搬砖...今天的这篇文章发布于2013年05月,是介绍如何使用nginx location指令根据不同的URI进行独立配置,例如匹配PHP文件转发给后端FastCGI进程处理,或者匹配图片类文件为其设置一个HTTP...这篇文章除location指令外还涉及if指令与rewrite指令配合使用。 贰 ---- 先来看下nginx location 示例配置文件。 server { #......这里涉及到匹配顺序问题,从服务器返回的结果可以知道 nginx选择了匹配字符串,这是因为使用了^~标识符字符串匹配后不再检查正则,也就是只使用字符串匹配结果。

1.2K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    nginx location配置

    编写本文时,使用的nginx版本为nginx/1.17.9和nginx/1.16.1 路由匹配规则 location路由匹配的大致规则:location [=|^~|~|~*|@] path { ......这里两个location配置都匹配上了,第一个location匹配项为1,第二个location匹配项为2,由于nginx选用匹配项最多的location,所以响应内容"/test/1"。...正则匹配以location在文件中的定义顺序从上到下进行匹配。匹配成功以后,nginx就停止搜索其他匹配项。...注意:mac os文件系统大小写不敏感,因此nginx服务配置的location path不区分大小写,nginx使用~和~效果是一样的。...^~ /test { return 200 '~'; } } 然后运行nginx -t来检测配置文件是否正确,得到的结果是:nginx: [emerg] duplicate location

    4.5K32

    nginx location配置

    location在nginx中起着重要作用,对nginx接收到的请求字符串进行处理,如地址定向、数据缓存、应答控制、代理转发等 location语法 location [=|~|~*|^~] uri {...= / { #精确匹配 / ,主机名后面不能带任何字符串 ... } location / { #普通匹配,因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求 ......} location ~* \....找到就停止继续匹配,执行此location (2)验证各条普通匹配规则,是否有 ^~ 开头匹配成功的,有,停止继续匹配,执行此location,否,记下匹配度最高的那条 (3)按顺序验证各条正则匹配规则...,有匹配的,停止继续匹配,执行此location,否则执行普通匹配规则中匹配度最高的那条 ?

    1.1K60

    Nginx的location匹配

    语法规则 location [ = | ~ | ~* | ^~ ] uri { ... } location @name { ... } 语法规则很简单,一个==location==关键字,后面跟着可选的修饰符...如果找到了精确匹配的location,也就是使用了=修饰符的location,结束查找,使用它的配置。 然后按顺序查找使用正则定义的location,如果匹配则停止查找,使用它定义的配置。...如果没有匹配的正则location,则使用前面记录的最长匹配前缀字符location。 基于以上的匹配过程,我们可以得到以下两点启示: 使用正则定义的location在配置文件中出现的顺序很重要。...假如我们有下面的一段配置文件: location = / { [ configuration A ] } location / { [ configuration B ] } location...值得注意的是,命名location中不能再嵌套其它的命名location。 URL尾部的/需不需要 关于URL尾部的/有三点也需要说明一下。第一点与location配置有关,其他两点无关。

    1.2K10

    nginx location匹配规则

    如果发现精确匹配,nginx停止搜索其他匹配。 普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。...^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。...最后匹配理带有”~”和”~*”的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。...例如 location = / { # 只匹配"/"....B ] } location ^~ /images/ { # 匹配任何以 /images/ 开始的请求,并停止匹配 其它location [ configuration C ] } location

    1.1K40

    nginx location 配置详解

    location   ^~   /uri        ^~开头表示普通字符串匹配上以后不再进行正则匹配。 location   ~   pattern     ~开头表示区分大小写的正则匹配。...location   ~*   pattern    ~*开头表示不区分大小写的正则匹配。 location   /uri                  不带任何修饰符,表示前缀匹配。...location   /                       通用匹配,任何未匹配到其他location的请求都会匹配到。...常用配置 alias——别名配置,用于访问文件系统,在匹配到location配置的URL路径后,指向alias配置的路径: location /test/ {...,转发请求到proxy_pass配置额URL,是否会附加location配置路径与proxy_pass配置的路径后是否有"/"有关,有"/"则不附加,如: location /test/

    3.2K10

    详解Nginx location 匹配规则

    本篇文章主要介绍了Nginx location 匹配规则,小编觉得挺不错的,现在分享给大家,也给大家做个参考。...location / 通用匹配,任何未匹配到其它location的请求都会匹配到,相当于switch中的default 前缀匹配时,Nginx 不对 url 做编码,因此请求为 /static/20%...访问 http://localhost/category/id/1111 则最终匹配到规则 F ,因为以上规则都不匹配,这个时候应该是 Nginx 转发请求给后端应用服务器,比如 FastCGI(php...),tomcat(jsp),Nginx 作为反向代理服务器存在。...,这是 nginx 作为 http 服务器的强项# 有两种配置模式,目录匹配或后缀匹配,任选其一或搭配使用location ^~ /static/ { root /webroot/static/;}location

    2.3K40
    领券