近阶段我在做Zblog站群,在仿站的时候发现好多都使用了PHP跳转技术进行外链页面的跳转,减少网站权重的流失。索性在我的Emlog深山的鹿博客里加上这个功能,其实下文所述的方法早就有了,我只是搬运工。

外链转内链.jpg

言简意赅直接进入主题:

1、新建一个go.php文件,在go.php里面输入以下代码(记得修改代码中的noteet.com改为你自己的域名,切记用DW或者其他PHP编辑软件编辑,千万不能用TXT直接修改保存!),然后上传到网站根目录下。

<?php
    $t_url=$_GET['url'];
    if(!empty($t_url)) {
        preg_match('/(http|https):\/\//',$t_url,$matches);
        if($matches){
            $url=$t_url;
            $title='页面跳转中,请稍候...';
        } else {
            preg_match('/\./i',$t_url,$matche);
            if($matche){
                $url='http://'.$t_url;
                $title='页面跳转中,请稍候...';
            } else {
                $url='http://www.noteet.com/';
                $title='参数错误,正在返回首页...';
            }
        }
    } else {
        $title='参数缺失,正在返回首页...';
        $url='http://www.noteet.com/';
    }
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
    <meta http-equiv="refresh" content="1;url='<?php echo $url;?>';">
    <title><?php echo $title;?></title>
    <style>
    body{background:#000}.loading{-webkit-animation:fadein 2s;-moz-animation:fadein 2s;-o-animation:fadein 2s;animation:fadein 2s}@-moz-keyframes fadein{from{opacity:0}to{opacity:1}}@-webkit-keyframes fadein{from{opacity:0}to{opacity:1}}@-o-keyframes fadein{from{opacity:0}to{opacity:1}}@keyframes fadein{from{opacity:0}to{opacity:1}}.spinner-wrapper{position:absolute;top:0;left:0;z-index:300;height:100%;min-width:100%;min-height:100%;background:rgba(255,255,255,0.93)}.spinner-text{position:absolute;top:50%;left:50%;margin-left:-90px;margin-top: 2px;color:#BBB;letter-spacing:1px;font-weight:700;font-size:36px;font-family:Arial}.spinner{position:absolute;top:50%;left:50%;display:block;margin-left:-160px;width:1px;height:1px;border:25px solid rgba(255,0,0,1);-webkit-border-radius:50px;-moz-border-radius:50px;border-radius:50px;border-left-color:transparent;border-right-color:transparent;-webkit-animation:spin 1.5s infinite;-moz-animation:spin 1.5s infinite;animation:spin 1.5s infinite}@-webkit-keyframes spin{0%,100%{-webkit-transform:rotate(0deg) scale(1)}50%{-webkit-transform:rotate(720deg) scale(0.6)}}@-moz-keyframes spin{0%,100%{-moz-transform:rotate(0deg) scale(1)}50%{-moz-transform:rotate(720deg) scale(0.6)}}@-o-keyframes spin{0%,100%{-o-transform:rotate(0deg) scale(1)}50%{-o-transform:rotate(720deg) scale(0.6)}}@keyframes spin{0%,100%{transform:rotate(0deg) scale(1)}50%{transform:rotate(720deg) scale(0.6)}}
    </style>
    </head>
    <body>
    <div class="loading">
      <div class="spinner-wrapper">
        <span class="spinner-text">页面跳转中,请稍候...</span>
        <span class="spinner"></span>
      </div>
    </div>
    </body>
    </html>

2、在添加外链的时候,只要给外链加上统一的跳转前缀:http://你的域名/go.php?url=,即可实现实现 http://www.noteet.com/go.php?url=http://www.xxxxxx.com/ 的跳转形式。


那这个代码怎么用在emlog个人博客程序中呢?

同样的将go.php文件上传到网站根目录中,打开模板的module.php文件,找到以下代码:
<a href="'.$comment['url'].'" target="_blank">
将其替换为:
<a href="/go.php?url='.$comment['url'].'" target="_blank">

附:为了便于更好的SEO,我为超链接增加了Title属性

<a href="/go.php?url='.$comment['url'].'"title="访问'.$comment['poster'].'的个人博客,网址是'.$comment['url'].'" target="_blank">'.$comment['poster'].'</a>'