假如你的网站遇到找不到该页时?
那可以自动转换到相对应的文章ip那不是更有利的保住网站流量么?
做个比方我的网站全站生成shtml处理,那有的文章已经在数据库有了,但是还没来得及生成
演示 http://pic.661100.net/302604.shtml 这个页面是数据库已经有的,但是还没有生成shtml的话就会自动转向到http://pic.661100.net/showarticle.asp?articleid=302604
假如某篇文章路径已经改变了,但是搜索引擎上还有记录的话,那就应该转向到网站首页,保证流量。
演示:http://pic.661100.net/aaa/aaa/aaa.html 不存在的页
代码我是这样写的,网址url可以改成你自己的,本js适用与文章按id生成,如:bckf/296882.shtml(或html),
不是根目录也可以使用的,只要你的showarticle.asp的asp是存在与频道根目录下面就可以了,如:bckf/showarticle.asp?articleid=296882
大家可按照需要修改
<script type="text/javascript">
var url = location.pathname;
var rurl=string(url.match(/[^\\\/]+$/)).replace(/\..+?$/,'');
var syspath=url.match(/[^\\\/]+$/);
var redir=url.replace(syspath,"");
var main="http://www.661100.net"+redir+"showarticle.asp?articleid="+rurl;
var spmurl=url.match(/\..+?$/);
if (spmurl==null){
location.href = "/";
}else{
if (rurl.replace(/showarticle/gi,'')==''){
alert("您好,因为本站数据已做更新,本页内容路径已改变,请点击确定按纽返回网站首页重新查找!");
location.href = "/";
}
else{
var securl=spliturl(rurl,2);
if (securl[1]==undefined){
var main=""+redir+"showarticle.asp?articleid="+rurl;
top.location.href = main;
}else{
var pmain=""+redir+"showarticle.asp?articleid="+securl[0]+"&page="+securl[1];
top.location.href = pmain;
}
}
}
function spliturl(kjurl,valuenum){
var s, ss;
var s = kjurl;
ss = s.split("_",valuenum);
return (ss);
}
</script>
使用方法,1:设置网站的404错误指向一个html文件如:d:/你的网站目录/ad/404.html ,需要空间商为您指向,或是自己的服务器
2:在404.html源文件写上上面的js代码就可以了。
补充:404.html文件字节要超过4kb左右,可以用智能abc的v1符号或空格代替,不然客户端ie上开启显示友好url http错误消息(默认值)的用户会显示找不到该页。
因为404错误的文件过小的话,ie开启显示友好url http错误消息的用户会显示找不到该页。
当然了,把网站改成生成html以后,却故意不给文章生成的话就会找不到该文章而自动转向到asp的文章,这样的话就起到了防采集的作用,虽然不是100%防采集,但是还是能防一部分的。
404.html 的代码加长点,加点垃圾代码进去 比如nbsp;nbsp;