rewrite规则

实现url重写以及重定向

场景

  • Url访问跳转,支持开发设计

    • 页面添砖、兼容性支持、展示效果等

  • SEO优化

  • 维护

    • 后台维护、流量转发等

  • 安全

配置语法

rewrite

语法

rewrite regex replacement [flag]

默认

---

作用域

server,location,if

例如

将网站所有请求全部重定向一个页面 rewrite ^(.*)$ /page/maintain.html break

正则表达式

正则表达式

.

匹配除换行符以外等任意字符

?

重复0次或1次

+

重复1次或更多次

*

匹配前面的子表达式零次或多次

\d

匹配数字

^

匹配字符串的开始

$

匹配字符串的结尾

{n}

重复n次

{n,}

重复n次或更多次

[c]

匹配单个字符串c

[a-z]

匹配a-z小写字母的任意一个

\

转移字符

( )

用于匹配括号之间的内容,通过$1、$2调用

例子:

pcretest

pcretest是一个正则表达式测试工具

例子:

flag

flag

备注

last

停止rewrite检测

last停止后重新创建一个请求,然后跳转

break

停止rewrite检测

break直接寻找重写后的文件

redirect

返回302临时重定向,地址栏会显示跳转后的地址

permanent

返回301永久重定向,地址栏会显示跳转后的地址

例子:

Rewrite规则优先级

  • 执行server块的rewrite指令

  • 执行location匹配

  • 执行选定的location中的rewrite

Last updated