nginx进行301永久重定向或302临时重定向

原创 zhaoliang  2017-01-20 21:08  阅读 1,276 views 次

在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地址

本文地址:http://blog.58cm.cn:8088/archives/121.html
版权声明:本文为原创文章,版权归 zhaoliang 所有,欢迎分享本文,转载请保留出处!

评论已关闭!