Rewrite主要的功能是实现URL的重写,Nginx的Rewrite规则采用PCRE(perl Compatible Regular Expressions)Perl兼容正则表达式的语法进行规则匹配,如果您需要Nginx的Rewrite功能,在编译Nginx之前,需要编译安装PCRE库。
正则表达式在计算机科学中,是指一个用来描述或匹配一系列符合某个句法规则的字符串的单个字符串。最初的正则表达式出现于理论计算机科学的自动控制理论和形式化语言理论中。在这些领域中有对计算的模型和对形化语言描述与分类的研究。20世纪40年代,Warren McCulloch与Walter Pitts将神经系统中的神经元描述成小而简单的自动控制元。20世纪50年代,数学家斯蒂芬.科尔.克莱尼利用称之为正则集合的数学符号来描述此模型。
通过Rewrite规则,可以实现规范的URL、根据变量来做URL转向及选择配置。例如,一些使用MCV框架的程序只有一个入口,可以通过Rewrite来实现。一些动态URL地址要伪装成静态HTML,便于搜素引擎抓取,也需要Rewrite来处理。一些由于目录结构、域名变化的旧URL、需要跳转到新的URL上,也可以通过Rewrite来处理。
推荐阅读:Nginx Rewrite规则相关指令