美文网首页
Nginx的Rewrite基本用法

Nginx的Rewrite基本用法

作者: itfanszhao | 来源:发表于2020-04-01 21:23 被阅读0次

        Nginx提供的全局变量或自己设置的变量,结合正则表达式和标志位实现url重写以及重定向。rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用。

        Rewrite主要的功能就是实现URL的重写,Nginx的Rewrite规则采用Pcre,perl兼容正则表达式的语法规则匹配,如果需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。

        通过Rewrite规则,可以实现规范的URL、根据变量来做URL转向及选择配置。

    Rewrite全局变量

    nginx的rewrite规则就是使用正则匹配请求的url,然后根据定义的规则进行重写和改变,需ngx_http_rewrite_module模块来支持url重写功能,该模块是标准模块,默认已经安装。

    下面举一些简单的例子,比如说限制某浏览器的访问,限制对某请求ip的访问:

    在nginx中的nginx.conf配置文件的server模块中添加以下代码

     ## 如果访问的ip地址为192.168.2.176,则返回403

         if  ($remote_addr = 192.168.2.176) { 

             return 403; 

         } 

    因此,会出现以下情况:

    在nginx中的nginx.conf配置文件的server模块中添加以下代码,限制谷歌浏览器访问:

    ## 不允许谷歌浏览器访问 如果是谷歌浏览器返回500

     if ($http_user_agent ~ Chrome) {  

             return 500; 

    }

    其实也就是从请求头User-Agent获得浏览器的信息进行判断能否访问

    相关文章

      网友评论

          本文标题:Nginx的Rewrite基本用法

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