美文网首页
Nginx的rewrite

Nginx的rewrite

作者: 缘来是你ylh | 来源:发表于2019-02-24 21:53 被阅读0次

    和apache等web服务软件一样,rewrite的组要功能是实现RUL地址的重定向。Nginx的rewrite功能需要PCRE软件的支持,即通过perl兼容正则表达式语句进行规则匹配的。默认参数编译nginx就会支持rewrite的模块,但是也必须要PCRE的支持

    ​ rewrite是实现URL重写的关键指令,根据regex(正则表达式)部分内容,重定向到replacement,结尾是flag标记。

    rewrite语法格式及参数语法说明如下:

    
    rewrite       <regex>        <replacement>          [flag];
    
    关键字         正则               替代内容             flag标记
    

    关键字:其中关键字rewrite不能改变

    正则:perl兼容正则表达式语句进行规则匹配

    替代内容:将正则匹配的内容替换成replacement

    flag标记:rewrite支持的flag标记

    flag标记说明:

    last #本条规则匹配完成后,继续向下匹配新的location URI规则

    break #本条规则匹配完成即终止,不再匹配后面的任何规则

    redirect #返回302临时重定向,浏览器地址会显示跳转后的URL地址

    permanent #返回301永久重定向,浏览器地址栏会显示跳转后的URL地址

    rewrite参数的标签段位置

    server,location,if
    

    实例

    rewrite ^/(.*) http://www.abc.com/$1 permanent;
    

    说明:

    rewrite为固定关键字,表示开始进行rewrite匹配规则

    regex部分是 ^/(.*) ,这是一个正则表达式,匹配完整的域名和后面的路径地址

    replacement部分是http://www.abc.com/$1 $1,是取自regex部分()里的内容。匹配成功后跳转到的URL。

    flag部分 permanent表示永久301重定向标记,即跳转到新的 http://www.abc.com/$1 地址上

    相关文章

      网友评论

          本文标题:Nginx的rewrite

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