网站首页 文章专栏 使用nginx设置域名永久跳转301重定向
使用nginx设置域名永久跳转301重定向

使用nginx设置域名永久跳转301重定向



 前言 :在本博客的qq互联登录中,偶尔会出现登录不上去的问题,检查了一下日志,原来是出现两次请求sessionId不一致的情况,研究了半天都不明白一个浏览器两次请求怎么就sessionId不一致了,最终发现是第一次请求不带www的域名,而qq互联的回调是带www的域名,导致的情况,于是就设置一个重定向301,让域名访问起来统一下,同时这样也会使得百度收录更统一。



在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变、第三方登录等。如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积累(比如PR值)就都白费了。
为何要使用301重定向
在网站建设中需要网页重定向的情况很多:如网页目录结构变动,网页重命名、网页的扩展名改变、网站域名改变、第三方登录等。如果不做重定向,用户的收藏和搜索引擎数据库中的旧地址只能让访客得到一个404错误信息页面,访问流量白白丧失。不仅如此,之前该页面的一切积累(比如PR值)就都白费了。

301重定向不仅能使页面实现自动跳转,对于搜索引擎来说,也可能可以传递PR值。


nginx重定向规则详细介绍
            rewrite命令
            nginx的rewrite相当于apache的rewriterule(大多数情况下可以把原有apache的rewrite规则加上引号就可以直接使用),它可以用在server,location 和IF条件判断块中,命令格式如下:

            rewrite 正则表达式 替换目标 flag标记
            flag标记可以用以下几种格式:
            last – 基本上都用这个Flag。
            break – 中止Rewirte,不在继续匹配
            redirect – 返回临时重定向的HTTP状态302
            permanent – 返回永久重定向的HTTP状态301
    例如下面这段设定nginx将某个目录下面的文件重定向到另一个目录,$2对应第二个括号(.*)中对应的字符串:

        location /download/ {
            rewrite ^(/download/.*)/m/(.*)\..*$ $1/nginx-rewrite/$2.gz break;
        }


    nginx重定向的IF条件判断
        在server和location两种情况下可以使用nginx的IF条件判断,条件可以为以下几种:

        正则表达式
        如:

        匹配判断:
            ~ 为区分大小写匹配; !~为区分大小写不匹配
            ~* 为不区分大小写匹配;!~为不区分大小写不匹配
        例如下面设定nginx在用户使用ie的使用重定向到/nginx-ie目录下:
            if ($http_user_agent ~ MSIE) {
                rewrite ^(.\*)$ /nginx-ie/$1 break;
            }


    文件和目录判断
        -f和!-f判断是否存在文件
        -d和!-d判断是否存在目录
        -e和!-e判断是否存在文件或目录
        -x和!-x判断文件是否可执行


上面简单介绍下nginx的使用规则,配置的话需要先找到nginx.conf文件,编辑如下:


server {
        listen       80;
        server_name  www.52xingchen.cn 52xingchen.cn;

	
	if ($host != 'www.52xingchen.cn') {
		rewrite ^/(.*)$ http://www.52xingchen.cn/$1 permanent;
	}
	
	more....
	
}


方法中, permanent是关键,详细说明见nginx重定向规则说明。
last – 基本上都用这个Flag。
break – 中止Rewirte,不在继续匹配
redirect – 返回临时重定向的HTTP状态302
permanent – 返回永久重定向的HTTP状态301


测试下,现在访问 52xingchen.cn 则会自动重定向到 www.52xingchen.cn



版权声明:本文由星尘阁原创出品,转载请注明出处!

本文链接:http://www.52xingchen.cn/detail/40




赞助本站,网站的发展离不开你们的支持!
来说两句吧
大侠留个名吧,或者可以使用QQ登录。
: 您已登陆!可以继续留言。
最新评论