如何做301重定向

为何要做301重定向

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

现在还是有一些SEO或者网站建设人员在接手一个老网站的时候,喜欢或习惯性的部署新版本网站,对于有些在所难免的url变化,却并不在意。这是一个很重要的SEO问题!通过url rewrite实现的方法也不复杂,何乐不为呢!

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

另外,带www和不带www的同一个域名会被搜索引擎默认为2个页面,不利于累计域名权重,另外301到其中一个,对用户体验也是比较好的!

本文以seofaqs.net重定向到www.seofaqs.net为例!

###Nginx/Apache rewrite域名301重定向的方法

Nginx方法

修改Nginx配置文件,增加rewrite规则

Nginx官方建议的办法是为不带www的URL单独设一条server规则

server {
    listen       80;
    server_name  seofaqs.net;
    return       301 http://www.seofaqs.net$request_uri;
}

server {
    listen       80;
    server_name  www.seofaqs.net;
    ...
} 

另外一种可行但nginx不推荐的办法!

server {
    listen       80;
    server_name  www.seofaqs.net  seofaqs.net;
    if ($http_host = seofaqs.net) {
        rewrite  (.*)  http://www.seofaqs.net$1;
    }
    ...
} 

Apache方法

在根目录的.htaccess文件中增加如下rewrite规则

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.seofaqs.net$ [NC]
RewriteRule ^(.*)$ http://www.seofaqs.net/$1 [L,R=301] 

最后,重启一下Nginx或Apache使配置生效即可!

标签: none

添加新评论