其实大家在使用QQ邮箱的时候就会发现邮件中的链接会以跳转的形式,并且加了一个警告,我们想实现这种功能其实也很简单,按照教程来就可以了!

首先新建一个页面,名字叫做go.php,加入下面这段代码

<?php

$home = "http://wp.5v13.com";    //修改成自己的网址

$name = "歧路亡羊";    //修改成自己的网站名

function wp_die($home,$name) {

    echo '<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" /><meta http-equiv=Content-Type content="text/html;charset=utf-8">

<title>无效地址</title></head>

    <body>

    此URL不允许直接复制打开....<br/>

    ---来自<a href="'.$home.'/">'.$name.'</a>

    </body>

    </html>';

    exit();

}

if(emptyempty($_SERVER['HTTP_REFERER']) || strpos(strtoupper($_SERVER['HTTP_REFERER']),strtoupper($home)) === false)

    wp_die($home,$name);

?>

<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<meta http-equiv=Content-Type content="text/html;charset=utf-8">

<meta name="robots" content="noindex,nofollow">

<title>页面跳转中··· | <?php echo $name;?></title>

<style>

body {font: 14px 'Microsoft YaHei', 微软雅黑, Arial, Lucida Grande, Tahoma, sans-serif;background: #E2E2E2;}

h2{font-size: 16px;}

a {font-size:14px;color: #red;text-decoration: none;}

span {color:red;border-bottom:1px solid}

#wrapper {width: 980px;margin: 10px auto;padding: 5px;}

#main {}

#main_box {background: #fff;margin: 10px 0 20px 0;padding: 10px;border-top: 3px solid #666;border-bottom: 1px solid #666;border-left: 1px solid #adadad;border-right: 1px solid #adadad;}

#tool li{background-color: #E2E2E2;padding: 2px;border: 1px solid #666666;float: left;list-style-type: none;margin: 8px;}

#tool li a:hover{text-decoration: none;}</style>

</head>

<body>

<div id="wrapper">

    <h2>页面跳转中...</h2>

    <div id="main_box">

       <span id="secondsDisplay">10</span> 秒后跳转至:<span><a href="<?php $url=$_GET['url']; echo htmlspecialchars($url);?>" rel="nofollow"><?php $url=$_GET['url']; echo htmlspecialchars($url);?></a></span><br/><br/>

       <p>(注意:该链接可能超出本站范围,请您决定是否转向,10秒后会自动打开访问链接!)</p><br/>

       <div id="tool">

            <li><a href="http://wp.5v13.com/">返回本站</a></li>

            <li><a href="<?php $url=$_GET['url']; echo htmlspecialchars($url);?>" rel="nofollow">继续访问</a></li>

        </div><br/><br/>

</div>

<script type="text/javascript">

    var i = 10;

    var intervalid;

    intervalid = setInterval("fun()", 1000);

    function fun() {

        if (i == 0) {

            window.location.href = "<?php $url=$_GET['url']; echo htmlspecialchars($url);?>";

            clearInterval(intervalid);

        }

    document.getElementById("secondsDisplay").innerHTML = i;

    i--;

    }

</script>

</div>

</body>

</html>

然后在我们主题的function.php中加入这些代码

function add_zhangleisir_redirect_link($text = ''){

    if(strpos($text,"这里是所在外链的div属性,例如:#comment")==false){

        $text=str_replace('href="', 'href="'.get_option('home').'/go.php?url=', <span%20class="vars">$text);

        $text=str_replace("href='", "href='".get_option('home')."/go.php?url=", $text);

}

return $text;

}

add_filter( 'comment_text', 'add_zhangleisir_redirect_link' );

add_filter( 'comment_text_rss', 'add_zhangleisir_redirect_link' );

其实做到这里就已经实现了链接跳转了,但是我们还需要做进一步的优化,比如说链接中的评论跳转,查找function中的,或者替换为

<a target="_blank" rel="nofollow" href="<?php echo get_option('home').'/go.php?url='.get_comment_author_url() ?>"><?php echo get_comment_author() ?></a>

然后别忘了在robot.txt中加入避免不必要的收录!

Disallow: /go?url=*
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。