1.rewrite做用
主要实现url重写以及重定向,实现伪静态
2.rewrite语法:html
syntax: rewrite regex replacement [flag] context: server,location,if 例:rewrite ^/(.*) http://www.abc.com/$1 permanent; rewrite //为固定关键字,表示开始进行rewrite匹配规则 regex ^/(.*) //正则表达式,匹配完整的域名和后面的路径 replacement // http://www.abc.com/$1 $1取regex中的()里的内容,匹配成功后跳转URL flag last //中止rewrite检测 break //中止rewrite检测 redirect //返回302临时重定向,每一次都请求 permanent //返回301永久重定向,使用本地缓存
3.正则表达式:省略
4.正则表达式字段测试工具nginx
#yum install pcre-tools -y #pcretest
1.访问www.test.com跳转到www.baidu.com正则表达式
server { listen 80; server_name www.test.com; if ($host = "www.test.com"){ rewrite .* http://www.baidu.com break; }
2.访问test.com跳转到www.test.com 301跳转缓存
server { listen 80; server_name test.com; rewrite ^/(.*) www.test.com/$1 permanent; }
server { listen 80; server_name test.com; if ( $host != "www.test.com" ) { rewrite ^/(.*) www.test.com/$1 permanent; } }
3.url重写:www.test.com/nginx/123.html 重写成www.123.com/123.html工具
server { listen 80; server_name www.test.com; rewrite "^.+nginx(.*)$" http://www.123.com$1 permanent; }