Rewrite规则含义就是某个URL重写成特定的URL,从某种意义上说为了美观或者对搜索引擎友好,提高收录量及排名等。
Rewrite规则的最后一项参数为flag标记,支持的flag标记主要有以下几种:
1) last :相当于Apache里的(L)标记,表示完成rewrite;
2) break;本条规则匹配完成后,终止匹配,不再匹配后面的规则
3) redirect:返回302临时重定向,浏览器地址会显示跳转后的URL地址
4) permanent:返回301永久重定向,浏览器地址栏会显示跳转后的URL地址
5) last和break用来实现URL重写,浏览器地址栏URL地址不变。
a) 例如用户访问www.test.com,想直接跳转到网站下面的某个页面,www.test.com/new.index.html如何来实现呢?
我们可以使用Nginx Rewrite 来实现这个需求,具体如下:
在server中加入如下语句即可:
rewrite ^/$ http://www.test.com/index01.html permanent;
*代表前面0或更多个字符
+代表前面1或更多个字符
?代表前面0或1个字符
^代表字符串的开始位置
$代表字符串结束的位置
。为通配符,代表任何字符
b) 例如多个域名跳转到同一个域名,nginx rewrite规则写法如下:
server
{
listen 80;
server_name www.wugk.com wugk.com;
if ($host != ‘www.wugk.com’ ) {
rewrite ^/(.*)$ http://www.wugk.com/$1 permanent;
}
更多深入的rewrite可以继续学习。