nginx 常用指令 try_files allow root alias

2023-11-03

nginx 常用指令 try_files allow root alias

正则匹配条件

  • ~ 为区分大小写匹配
  • ~* 为不区分大小写匹配
  • !~!~*分别为区分大小写不匹配及不区分大小写不匹配

文件及目录匹配,其中:

  • -f!-f用来判断是否存在文件
  • -d!-d用来判断是否存在目录
  • -e!-e用来判断是否存在文件或目录
  • -x!-x用来判断文件是否可执行

flag标记

  • last 相当于Apache里的[L]标记,表示完成rewrite
  • break 终止匹配, 不再匹配后面的规则
  • redirect 返回302临时重定向 地址栏会显示跳转后的地址
  • permanent 返回301永久重定向 地址栏会显示跳转后的地址
变量名	功能
$host	请求信息中的 Host,如果请求中没有Host行,则等于设置的服务器名
$request_method	客户端请求类型,如 GET、 POST
$remote_addr	客户端的 IP地址
$args	请求中的参数
$content_length	请求头中的 Content-length字段
$content_type	请求头中的 Content-Type字段
$http_user_agent	客户端agent信息
$http_cookie	客户端cookie信息
$remote_addr	客户端的IP地址
$remote_port	客户端的端口
$server_protocol	请求使用的协议,如HTTP/1.0、·HTTP/1.1
$server_addr	服务器地址
$server_name	服务器名称
$server_port	服务器的端口号
$document_root	针对当前请求的根路径设置值
$uri	请求的URI,可能和最初的值有不同,比如经过重定向之类的
$document_uri	与$uri相同
$limit_rate	对连接速率的限制
$request_uri	请求的URI,带查询字符串
$query_string	与$args相同
$scheme	所用的协议,http或者是https

root和alias

指令使用

location /i/ {
    root /data/w3;
    # 为请求设置根目录
}
# 访问 /i/test.jpg 实际查找的路径为 /data/w3/i/test.jpg

location /i/ {
    alias /data/w3/;
    # 为请求设置指定位置的替换
}
# 访问 /i/test.jpg 实际查找的路径为 /data/w3/test.jpg

root指定目录,路径为 root + $uri
alias指定目录 路径为 alias + 资源名

其它区别

  1. alias 只能作用在location中,而root可以存在server、http和location中。

  2. alias 后面必须要用 “/” 结束,否则会找不到文件,而 root 则对 “/” 可有可无。

  3. 如果别名是在用正则表达式定义的位置中使用的,那么这种正则表达式应该包含捕获,别名应该引用这些捕获 ,例如:

    location ~ ^/users/(.+\\.(?:gif|jpe?g|png))$ {
        alias /data/w3/images/$1;
    }
    
  4. 能用root实现的不要用alias

allow和deny

指令使用

访问控制指令

# 访问控制
location / {
    allow xx.xx.xx.xx;
    allow 10.1.0.0/16;
    allow 192.0.0.0/8;
    allow 172.0.1.0/24;
    # allow all;
    deny all;
}
# 执行时 从上到下,匹配到就跳出

try_files

try_files指令说明

try_files指令
语法:try_files file ... uri 或 try_files file ... = code
默认值:无
作用域:server location

其作用是按顺序检查文件是否存在,返回第一个找到的文件或文件夹(结尾加斜线表示为文件夹),如果所有的文件或文件夹都找不到,会进行一个内部重定向到最后一个参数。

需要注意的是,只有最后一个参数可以引起一个内部重定向,之前的参数只设置内部URI的指向。最后一个参数是回退URI且必须存在,否则会出现内部500错误。命名的location也可以使用在最后一个参数中。与rewrite指令不同,如果回退URI不是命名的location那么$args不会自动保留,如果你想保留$args,则必须明确声明。

try_files $uri $uri/ /index.php$is_args$args;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

nginx 常用指令 try_files allow root alias 的相关文章

随机推荐

  • G1垃圾收集分类-JVM(十四)

    上篇文章说了G1不在是连续的老年代年轻代 而是分为不同的region 有eden survivor old humongous 当大于百分之50region的数据则直接进入humongous 如果对象太大 会连续的存储 分为初始标记 并发标
  • 天津python爬虫培训

    许多许多同学都想开始学习Python 想做一位有着高薪的程序员 但是成为程序员也是有条件的 不是随随便便就能开始编程 哪怎么才能成为程序员呢 首先我们得先了解Python 知道一些基本知识 先入门 然后再开始一步一步的学习 慢慢地向程序员靠
  • 自动化测试框架理解

    自己总结的框架原理 虽然其中的含义还是比较模糊 但对于应付面试足够啦 数据驱动的测试方法 数据驱动从数据文件读取输入数据 通过变量的参数化将测试数据传入测试脚本 不同的数据文件对应不同的测试用例 我理解的就是不同的功能点测试 用一个表格列出
  • Python卸载

    Python卸载 因学习深度学习知识 需要安装Anaconda 而Anaconda本身会自带一个版本的python 为了不产生python版本之间的冲突 想要卸载原先安装的python 卸载python主要有以下几个步骤 1 找到安装pyt
  • java解析zip文件

    java解析zip文件 1 工具类 package org springblade iot utils import org apache commons fileupload FileItem import org apache comm
  • 数组 只出现一次的数字

    题目 只出现一次的数字 说明 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 Swift 题目 只出现一次的数字 说明 给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出
  • React生命周期执行顺序详解

    文章内容转载于https www cnblogs com faith3 p 9216165 html 一 组件生命周期的执行次数是什么样子的 只执行一次 constructor componentWillMount componentDid
  • qemu: could not load PC BIOS 'bios-256k.bin'

    qemu kvm 创建虚拟机时报错了 qemu could not load PC BIOS bios 256k bin 我在指定了BIOS后仍然不对 使用 find bios 256k bin 我发现 bios 256k bin是一个软连
  • 【shell】-exec和xargs

    目录 实现效果 参数说明 exec参数 xargs参数 exec和xargs 后执行多条语句 exec和xargs 执行自定义函数 如何正确组合 xargs bash c 和环境变量 exec和xargs的区别 exec和xargs的区别
  • C++primer U10 读书笔记 关联容器

    pair 类型 pair
  • 当出现jquery”ScriptResourceMapping时

    在使用MVC框架的时候出现这个问题 jquery ScriptResourceMapping 有以下几个参考步骤 1 添加引用 管理NuGet程序包 在搜索框中搜索jquery 版本有更新 在右侧点击安装jqu 安装后显示script文件
  • unity2D备忘志

    一 角色移动 unity里面的transform组件非常好用 transform right这种枚举值真的很方便 Vector2向量 控制移动方向 Input输入非常非常方便 后面章节有刚体移动 应用也很广泛 transform Trans
  • 质数判断算法

    有人做过这样的验算 1 2 1 41 43 2 2 2 41 47 3 2 3 41 53 于是就可以有这样一个公式 设一正数为n 则n 2 n 41的值一定是一个质数 这个式子一直到n 39时 都是成立的 但n 40时 其式子就不成立了
  • threejs使用tweenjs实现点击标签过渡到相应视角

    效果图 1 点击前 2 点击后 说明 效果就是我在给模型打标签时保存视角和坐标 点击标签的时候读取到坐标数据 再转动到对应视角 1 安装 TWEEN npm install save tweenjs tween js 2 在当前页引入 im
  • springboot整合springcache (redis)

    1 引入依赖
  • 阿里巴巴的18位创始人

    1999年 阿里巴巴集团成立 当时共有18位创始人 大部分是马云的同事 朋友和学生 这篇文章汇总了这18个人的公开资料 马云是阿里巴巴的代言人 然而 事实上 自1999年成立以来 还有17位重要人物共同创立了这家电子商务巨头 但是他们是谁
  • 微信小程序 scroll-view 组件的 bindscroll 不触发不生效

    使用微信小程序基础组件中的scroll view 但是滑动的时候 bindscroll 一直不生效
  • 授人以渔command not found: ***

    配置环境变量是每个开发人员绕不开的初级本领 搜了一下大多数博客都是列出自己系统配置的步骤 授人以鱼不如授人以渔 今天记录一下自己配置验证的方法过程 方便初学者配置 本文围绕 我在macOS配置http server的探究验证过程 1 下载
  • CMD 命令和 ENTRYPOINT 命令的区别

    目录 CMD 命令 CMD shell 形式 1 创建 Dockerfile1 2 构建和运行新镜像 3 覆盖 CMD 4 添加命令选项 CMD exec形式 1 创建Dockerfile2 构建和运行新镜像 2 覆盖 CMD和添加命令选项
  • nginx 常用指令 try_files allow root alias

    nginx 常用指令 try files allow root alias 正则匹配条件 为区分大小写匹配 为不区分大小写匹配 和 分别为区分大小写不匹配及不区分大小写不匹配 文件及目录匹配 其中 f和 f用来判断是否存在文件 d和 d用来