为了能够在修改网站结构或域名后,避免造成网站中的链接或在其他网站中的外链失效,已经提高网站在搜索引擎的收录量和排名等目的,通常会采用url重写与重定向,在增强网站专业化的同时,为用户提供更加舒适的使用体验。
1、rewrite模块的介绍
重写与重定向功能是现在大多数Web服务器都支持的一项功能,相对于其他产品而言,Nginx中的rewrite模块提供的功能在配置上更加灵活自由,可定制性非常高,它的实现方式简单,只需要通过rewrite指令根据Nginx提供的全局变量或自定义的变量,结合正则表达式已经进一步处理的标识就可以完成url重写或重定向。
2、rewrite实现重写
rewrite指令基本语法:
rewrite regex replacement [flag];
flag可选参数值:last:终止rewrite,继续匹配其他规则;
break:终止rewrite,不再继续匹配;
redirect:临时重定向,返回的HTTP状态码为302;
permanent:永久重定向,返回的HTTP状态码为301;
当flag值为last或break时,表示当前的设置为重写,当flag的值为redirect或permanent时表示重定向;
2.1、添加rewrite指令
if与括号有空格,!-e与$request_filename有空格;
!-e用于判断不存