分享、学习、提高
2008/11/19 21:50
文章作者:9Enjoy 转载请注明原文链接。
做站就难免会碰到迁移,换域名,跳转页面之类的事。首先,有个基础知识,换域名或URL尽量使用301跳转,不要使用域名管理后台的非隐藏指向。

为什么不要用?1.它是302跳转,SE不认可;2.它只在用户访问首页时有效,当用户访问其内页,一般返回域名管理商的页面或者是无法打开页面,导致用户看不到页面,流失用户。
为什么要用301?1.SE认可,是Google首先提出的,它表示永久定向。302是临时定向。对于gg来说,还会传递原站的PR。
2.据观察,Baidu也是认可301的。其它搜索引擎一般都认可。

因此我认为:只要不是暂时搬移的情况,都建议使用301来做重定向。

下面谈下我的看法,我认为跳转存在三种情况。

1.原站(A站),有一些流量,现在不想用了,指向到某站(B站)的一个目录或首页,但A站的页面结构和B站的不一样。这种情况,只需要A站所有页面全部Rewrite到B站。这样用户搜索某个关键词或某地方有链接到A站时,就会到B站,不会造成用户看到无法打开页面。

2.原站(A站)和新站(B站)结构一样,比如www.a.com要换成www.9enjoy.com推广,这种情况需要Rewrite所有页面到B站的对应页面。
这样用户搜索某个关键词或某地方有链接到到A站时,就会到B站的相应页面,用户可以看到他想看的页面,不会造成用户的流失。

3.原站(A站)是新站只有一页或者说A站没差SE收录,那么这种随便用什么方式跳到B行。用域名管理后台的非隐藏指向也可以,或者参考第1种方法。

下面提供一下Rewrite代码,以Apache的配置示例:)
第1种,www.a.com跳转到www.itlearner.com
<VirtualHost *>
        ServerName a.com
        ServerAlias *.a.com
        RewriteEngine On
        RewriteRule .* http://www.itlearner.com [R=301,L]
</VirtualHost>
htaccess设置同样有效。如果有多个站要对应跳转,分别写配置文件也麻烦的话,也可以用一页程序实现。实现的方法是首页用程序判断域名,获取要跳转到的页面,301到B站,然后A站的其它页面使用404跳转到B站或者用301Rewrite到首页,使其也301跳转到B站。

第2种,www.a.com全部跳转到www.9enjoy.com
新建a.com虚拟主机
<VirtualHost *>
        ServerName a.com
        ServerAlias *.a.com
        RewriteEngine On
        RewriteRule (.*) http://www.9enjoy.com$1 [R=301,L]
</VirtualHost>
或者a.com和b.com绑定在同一虚拟主机,使用如下配置:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.9enjoy.com$ [NC]
RewriteRule ^(.*)$ http://www.9enjoy.com/$1 [R,L]

这种要用程序来实现就不大方便了。

这里是说网站的跳转,单页URL的变换,也建议使用301跳转,具体写法请参考如何写301重定向代码

如何检查这些跳转生效了呢?
1.如何判断某页的跳转是否是301跳转?请使用获取网页Header信息
2.如何判断网站里的页面已经正确的跳转?使用SE,比如site:a.com,点列出来的网址,正确的话就是跳转到B站的相应页面了。
发表评论
表情
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]