在nginx.conf的server块下使用rewrite来实现301永久重定向或302临时重定向,rewrite可以使用在server、location、if块内。
例:
1.根域名跳转至指定子域名
server {
listen 80;
server_name 58cm.cn;
rewrite ^/(.*)$ http://blog.58cm.cn/$1 permanent;
}
2.ip地址直接访问时跳转到指定域名(注意要把此条写到配置文件最先执行的server位置)
server {
listen 80;
rewrite ^/(.*)$ http://blog.58cm.cn/$1 permanent;
}
3.指定条件的跳转,如某个页面或某些页面
server {
listen 80;
if($http_user_agent ~ MSIE ){
rewrite (.*)$ /ie/$1 permanent;
}
location /a.html {
rewrite /c1.html /c2.html permanment;
}
}
rewrite指令的最后一项参数为flag标记,flag标记有:
1.last 表明当前规则是最后一条规则,停止分析以后规则的重写,相当于apache里面的[L]标记。
2.break 本条规则匹配完成后,终止匹配,不再匹配后面的规则。
3.redirect 返回302临时重定向,浏览器地址会显示跳转后的URL地址。
4.permanent 返回301永久重定向,浏览器地址会显示跳转后的URL地址。
评论已关闭!