动易系统的一个智能404页面的判断方法
那可以自动转换到相对应的文章ip那不是更有利的保住网站流量么?
做个比方我的网站全站生成shtml处理,那有的文章已经在数据库有了,但是还没来得及生成
假如某篇文章路径已经改变了,但是搜索引擎上还有记录的话,那就应该转向到网站首页,保证流量。
代码我是这样写的,网址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://zhiwenweb.cn"+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;
相关新闻>>
- 发表评论
-
- 最新评论 更多>>