nginx的location配置root、alias用法和区别

  1. root & alias区别
    root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上
    root的处理结果是:root路径+location路径
    alias的处理结果是:使用alias路径替换location路径
    alias是一个目录别名的定义,root则是最上层目录的定义
    还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的,而root则可有可无
  2. 实例详解
    root实例:
    location ^~ /web/ {
    root /www/root/html/;
    }
    如果一个请求的URI是/web/index.html时,web服务器将会返回服务器上的/www/root/html/web/index.html的文件
    alias实例:
    location ^~ /web/ {
    alias /www/root/html/new_web/;
    }
    如果一个请求的URI是/web/index.html时,web服务器将会返回服务器上的/www/root/html/new_web/index.html的文件
    因为alias会把location后面配置的路径丢弃掉,把当前匹配到的目录指向到指定的目录
  3. 注意:
    1. 使用alias时,目录名后面一定要加"/"
    2. alias在使用正则匹配时,必须捕捉要匹配的内容并在指定的内容处使用
    3. alias只能位于location块中(root可以不放在location中)

原文地址:https://www.cnblogs.com/Mrhuangrui/p/8203762.html

时间: 2024-10-11 04:28:02

nginx的location配置root、alias用法和区别的相关文章

nginx的location、root、alias指令用法和区别

http://www.nginx.cn/4658.html nginx指定文件路径有两种方式root和alias,指令的使用方法和作用域:[root]语法:root path默认值:root html配置段:http.server.location.if[alias]语法:alias path配置段:location root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上.root的处理结果是:root路径+locati

nginx的location配置详解

语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格). ~ 开头表示区分大小写的正则匹配 ~*  开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹配到. 多个location配置

nginx 中location和root,你确定真的明白他们关系?

最近公司开发新项目,web server使用nginx,趁周末小小的研究了一下,一不小心踩了个坑吧,一直404 not found!!!!!当时卡在location和root中,但是网上却比较少聊这方面的关系,一般都是聊location匹配命令(这里可以看看http://www.nginx.cn/115.html),花了一下午,彻底搞清楚了location和root到底怎样找到文件的. nginx指定文件路径有两种方式root和alias,这两者的用法区别,使用方法总结了下,方便大家在应用过程中

nginx之location配置

语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格). ~ 开头表示区分大小写的正则匹配 ~*开头表示不区分大小写的正则匹配 !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则 / 通用匹配,任何请求都会匹配到. 多个location配置的情

Nginx 的location配置详解

Nginx 允许用户定义 Location block ,并指定一个匹配模式(pattern)匹配特定的 URI.除了简单的字符串(比如文件系统路径),还允许使用更为复杂的匹配模式(pattern). Location block 的基本语法形式是: location [=|~|~*|^~|@] pattern { ... } [=|~|~*|^~|@] 被称作 location modifier ,这会定义 Nginx 如何去匹配其后的 pattern ,以及该 pattern 的最基本的属性

Nginx得Location配置详解之精准匹配

一.location 的定义 location 有"定位"的意思,根据Uri来进行不同的定位. 在虚拟主机的配置中,是必不可少得,location可以把网站的不同部分,定位到不同的处理方式上. 二.location 的语法 location [=|~|~*|^~] patt{ } 中括号可以不写任何参数,此时称为一般匹配,也可以写参数 因此,大类新可以分为3种: location=patt{}[精准匹配] location  patt{} [一般匹配] location ~patt{}

Nginx的location配置

安装第三方模块echo-nginx-module git clone https://github.com/openresty/echo-nginx-module.git./configure --add-module=/nginx安装目录/echo-nginx-modulemake && make install安装之后,可以直接在配置文件中使用 echo '' 命令 location语法 location [=|^~|~|~*] /uri/ { -. }coding.net/u/ami

Nginx中location配置[转]

关于一些对location认识的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通,再匹配正则”解释不了大家平时习惯的按“先匹配正则,再匹配普通”的实践经验.这里我只能暂时解释下,造成这种误解的原因是:正则匹配会覆盖普通匹配(实际的规则,比这复杂,后面会详细解释). 2. location 的执行逻辑跟 location 的编辑顺序无关. 矫正:这句话不全对,

Nginx之location 匹配规则详解

Nginx之location 匹配规则详解 关于一些对location认识的误区 1. location 的匹配顺序是"先匹配正则,再匹配普通". 矫正: location 的匹配顺序其实是"先匹配普通,再匹配正则".我这么说,大家一定会反驳我,因为按"先匹配普通,再匹配正则"解释不了大家平时习惯的按"先匹配正则,再匹配普通"的实践经验.这里我只能暂时解释下,造成这种误解的原因是:正则匹配会覆盖普通匹配(实际的规则,比这复杂,