• nginx正则表达式


    $request_filename 当前请求的文件的路径名,由root或alias和URI request组合而成

    nginx的rewrite指令中可以通过设置该条rewrite的flag来对该规则进行说明。一般可以设置的flag有:last,break,redirect,permanent四种。

    redirect说明,这条规则是一个临时的跳转,并且此时如果观察http请求的话,http的响应状态码为302.

    permanent说明,这条规则是一个永久性的跳转,并且此时,http的响应状态码为301.

    那么什么是永久性跳转,什么是临时跳转,这有什么作用呢?下面我们举例说明:

    如果有一个url,/a。

    如果配置成

    rewrite "/a" "http://test.html" redirect;

    则说明这个跳转是一个临时跳转,此时如果有网络爬虫爬这个链接时,是不会更新自己的url数据库的。

    但是如果配置成permanet,则爬虫会更新自己的url数据库,把/a更新为http://test.html

    这也就是临时跳转和永久跳转的区别。

    二、Location语法 语法:location [=|~|~*|^~] /uri/ { … }
    注:
    1、~   为区分大小写匹配
    2、~* 为不区分大小写匹配
    3、!~和!~*分别为区分大小写不匹配 及不区分大小写 不匹配
    示例一:
    location  / { }
    匹配任何查询,因为所有请求都以 / 开头。但是正则表达式规则将被优先和查询匹配。
    示例二:
    location =/ {}
    仅仅匹配/
    示例三:
    location ~* .(gif|jpg|jpeg)$ {
    rewrite .(gif|jpg)$ /logo.png;

    注:不区分大小写匹配任何以gif,jpg,jpeg结尾的文件
    三、ReWrite语法
    last - 基本上都用这个Flag。
    break - 中止Rewirte,不在继续匹配
    redirect - 返回临时重定向的HTTP状态302
    permanent - 返回永久重定向的HTTP状态301
    1、下面是可以用来判断的表达式:
    -f和!-f用来判断是否存在文件
    -d和!-d用来判断是否存在目录
    -e和!-e用来判断是否存在文件或目录
    -x和!-x用来判断文件是否可执行

  • 相关阅读:
    第一次程序改错
    趣拼图——项目演示及代码
    数据流图和数据流程图
    UML图
    UML用例图
    第二次迭代目标的分配
    小组分工
    迭代目标
    我们的项目
    2017-4-18 关于小组APP
  • 原文地址:https://www.cnblogs.com/agang-php/p/4205106.html
Copyright © 2020-2023  润新知