外链是影响PR的一个非常关键的因素,如果能够减少外链,那对提高PR值是非常有帮助的;当然 网站引用必要的外部链接,这是在所难免的,因为这样可以保证资源的完整性与连贯性。人人IT网本身也有很多的外链,PR值一直是在2和3之间徘徊,现在都还只有2,于是呼我就在想有没有什么办法来改善这种情况,既保正外部资源的连接,又可以避免导出连接?
经过尝试,想到了可以通过将外部连接使用子域名跳转的方式来实现,当然了,跳转的方式有很多种了,自己写一个页面来做跳转,如果你使用的是APACHE,可以使用APACHE本身的跳转去实现,因为我个人的服务器使用的是APACHE,我采用的方式就是使用APACHE进行跳转,把如下配置加到APACHE的httpd.conf(如果是WINDOWS,那么则是httpd.ini)这个配置文件中:
<VirtualHost *:80>
ServerName go.renren.it
RewriteEngine on
RewriteRule ^/(.*)$ http://$1 [R=301,L]
</VirtualHost>
记得这里把go.renren.it替换成你自己的子域名了,另外需要注意的就是要使跳转功能起作用,那就是你的APACHE还必须是已经启用了rewrite这个modle,否则是不会起作用的。加入上面的配置后,重启APACHE,我自己的测试访问地址如下:
http://go.renren.it/www.renren.it/a/JAVAbiancheng/JAVAzonghe/20110825/eclipse-top30-plugin.html
确实如你所想的一样,这会跳转访问到页面:
http://www.renren.it/a/JAVAbiancheng/JAVAzonghe/20110825/eclipse-top30-plugin.html
简单不,兴奋不!
不过不要兴奋的过早了,这里的跳转虽然是301跳转,但是搜索引擎还是可以根据你的这个连接爬到目标页面上去的,也就是这里是实现了使用子域名的方式实现跳转,但是却没有把搜索引擎的路给断了,在计算PR值的时候还是会受到影响的。那我们是不是做了一个华丽的门面,但却是对减少外链、提高PR值一点帮助都没有?那我们做来干什么呢,白白的花这些时间?不要灰心吗,肯定有用的,只是革命尚未成功,还需要加把劲了,至少我们明白了可以通过子域名进行跳转。下面就是重点了,如何在保证外部链接的同时,却能够把搜索引擎的路给堵住。
这个时候我们需要改变一下APACHE的跳转配置了,并且加一个文件作为跳转,首先修改配置文件如下:
<VirtualHost *:80>
ServerName go.renren.it
RewriteEngine on
RewriteRule ^/(?!jump)(.*)$ http://go.renren.it/jump.html?url=$1 [R=301,L]
</VirtualHost>
这个配置的意思是,所有通过go.renren.it的请求,都转发到go.renren.it/jump.html这个页面去做处理,但是jump请求就不会转发了,要不然就成了死循环了。既然要使用到jump.html,那么我们就需要有这个文件了,这个文件其实很简单,就是通过JAVASCRIPT获取参数URL,然后通过:
window.location.href=url
跳转到目标页面。这里之所以使用JAVASCRIPT进行跳转,就是因为目前来説,搜索引擎还不能或者还不会去解析JAVASCRIPT,但是对用户来说是没有影响的,到此为止我们已经实现了我们的目的。不过这里需要注意一下就是,在使用JAVASCRIPT跳转之前,需要先判断获取到的URL是否是以HTTP开头,如果没有就需要补上了,否则会是死循环的。这个时候,你再通过:
http://go.renren.it/www.renren.it/a/JAVAbiancheng/JAVAzonghe/20110825/eclipse-top30-plugin.html
进行访问,你会发现还是刚才的页面,而搜索引擎是爬不过去的了。至此圆满的完成了一个任务,好累呀。
不过数据库和页面当中的URL如何“自动”的修改为我们现在已经实现的跳转,当然了你可以一个一个的去改,以后的文章你也可以一个一个的去改,这说明你很有耐性,这个鄙人保持佩服的态度,做站就是要有这种精神。如果当你的数据库或者网页有上十万的记录的时候你还是这么一个一个去改,你不吐血我都先帮你吐血了,我比较懒,我回让程序来做这样的事情,想知道怎么弄吗,那就关注这个帖子了。
本文出自:冯立彬的博客