美文网首页
Nginx Location 正则表达式

Nginx Location 正则表达式

作者: Leebor | 来源:发表于2017-10-12 16:39 被阅读0次

    部分内容摘抄自 Nginx官网

    Syntax: location [ = | ~ | ~* | ^~ ] uri { ... }
    location @name { ... }
    Default:
    Context: server, location

    • location正则表达式书写示例:

    1. 等号(=)

    表示完全匹配规则才执行操作

    location = /index {
        [ configuration A ]    
    }
    

    URL为 http://{domain_name}/index 时,才会执行配置中操作。

    2. 波浪号(~)

    表示执行正则匹配,但区分大小写

    location ~ /page/\d{1,2} {
        [ configuration B ]
    }
    

    URL 为 http://{domain_name}/page/1 匹配结尾数字为1-99时,配置生效。

    3.波浪号与星号(~*)

    表示执行正则匹配,但 区分大小写

    location ~* /\.(jpg|jpeg|gif) {
        [ configuration C ]
    }
    

    匹配所有url以jpg、jpeg、gif结尾时,配置生效。

    4.脱字符与波浪号(^~)

    表示普通字符匹配,前缀匹配有效,配置生效
    location ^~ /images/ {
    [ cofigurations D ]
    }
    URL 为 http://{domain_name}/images/1.gif 时,配置生效。

    5.@

    定义一个location,用于处理内部重定向

    location @error {
        proxy_pass http://error;
    }
    
    error_page 404 @error;
    

    各字符有效优先级

    = > ^~ > ~/~*
    (~/~*)中有多个正则匹配时,选择正则表达式最长的配置执行。

    相关文章

      网友评论

          本文标题:Nginx Location 正则表达式

          本文链接:https://www.haomeiwen.com/subject/pfloyxtx.html