zoukankan      html  css  js  c++  java
  • 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用来判断文件是否可执行

  • 相关阅读:
    oracleI基础入门(6)sql语句Substring Crazy
    oracleI基础入门(7)table约束 Crazy
    oracleI基础入门(7)table视图 Crazy
    SQL附加分离数据库(命令)
    双截棍 C语言版 (超搞笑)
    AspNetPage分页(repeater),自己做的例子基本代码
    记录
    RegularExpressionValidator控件中正则表达式用法
    20 个经典的 Ajax + CSS 表格
    GridView各个事件中,怎样获取主键值
  • 原文地址:https://www.cnblogs.com/agang-php/p/4205106.html
Copyright © 2011-2022 走看看