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

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

  1. <?php
  2. $home = "http://wp.5v13.com";    //修改成自己的网址
  3. $name = "歧路亡羊";    //修改成自己的网站名
  4. function wp_die($home,$name) {
  5.     echo '<!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">
  6. <html xmlns="http://www.w3.org/1999/xhtml"><head><meta charset="UTF-8" /><meta http-equiv=Content-Type content="text/html;charset=utf-8">
  7. <title>无效地址</title></head>
  8.     <body>
  9.     此URL不允许直接复制打开....<br/>
  10.     ---来自<a href="'.$home.'/">'.$name.'</a>
  11.     </body>
  12.     </html>';
  13.     exit();
  14. }
  15. if(emptyempty($_SERVER['HTTP_REFERER']) || strpos(strtoupper($_SERVER['HTTP_REFERER']),strtoupper($home)) === false)
  16.     wp_die($home,$name);
  17. ?>
  18. <!DOCTYPE html PUBLIC "-//W3C//Dtd XHTML 1.0 transitional//EN" "http://www.w3.org/tr/xhtml1/Dtd/xhtml1-transitional.dtd">
  19. <html xmlns="http://www.w3.org/1999/xhtml">
  20. <head>
  21. <meta http-equiv=Content-Type content="text/html;charset=utf-8">
  22. <meta name="robots" content="noindex,nofollow">
  23. <title>页面跳转中··· | <?php echo $name;?></title>
  24. <style>
  25. body {font: 14px 'Microsoft YaHei', 微软雅黑, Arial, Lucida Grande, Tahoma, sans-serif;background: #E2E2E2;}
  26. h2{font-size: 16px;}
  27. a {font-size:14px;color: #red;text-decoration: none;}
  28. span {color:red;border-bottom:1px solid}
  29. #wrapper {width: 980px;margin: 10px auto;padding: 5px;}
  30. #main {}
  31. #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;}
  32. #tool li{background-color: #E2E2E2;padding: 2px;border: 1px solid #666666;float: left;list-style-type: none;margin: 8px;}
  33. #tool li a:hover{text-decoration: none;}</style>
  34. </head>
  35. <body>
  36. <div id="wrapper">
  37.     <h2>页面跳转中...</h2>
  38.     <div id="main_box">
  39.        <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/>
  40.        <p>(注意:该链接可能超出本站范围,请您决定是否转向,10秒后会自动打开访问链接!)</p><br/>
  41.        <div id="tool">
  42.             <li><a href="http://wp.5v13.com/">返回本站</a></li>
  43.             <li><a href="<?php $url=$_GET['url']; echo htmlspecialchars($url);?>" rel="nofollow">继续访问</a></li>
  44.         </div><br/><br/>
  45. </div>
  46. <script type="text/javascript">
  47.     var i = 10;
  48.     var intervalid;
  49.     intervalid = setInterval("fun()", 1000);
  50.     function fun() {
  51.         if (i == 0) {
  52.             window.location.href = "<?php $url=$_GET['url']; echo htmlspecialchars($url);?>";
  53.             clearInterval(intervalid);
  54.         }
  55.     document.getElementById("secondsDisplay").innerHTML = i;
  56.     i--;
  57.     }
  58. </script>
  59. </div>
  60. </body>
  61. </html>

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

  1. function add_zhangleisir_redirect_link($text = ''){
  2.     if(strpos($text,"这里是所在外链的div属性,例如:#comment")==false){
  3.         $text=str_replace('href="', 'href="'.get_option('home').'/go.php?url=', $text);
  4.         $text=str_replace("href='""href='".get_option('home')."/go.php?url="$text);
  5. }
  6. return $text;
  7. }
  8. add_filter( 'comment_text', 'add_zhangleisir_redirect_link' );
  9. add_filter( 'comment_text_rss', 'add_zhangleisir_redirect_link' );

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

  1. <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中加入避免不必要的收录!

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