Typecho 非插件实现外链转内链
No Reply , Posted in 代码 on October 20, 2015
非插件实现Typecho博客隐藏推广链接的方法:把外部链接转换为 your_blog_path/go/key/
使用typecho博客程序做推介赚取佣金的网站,如果直接帖上推广链接,很容易就被部分“聪明”的网友去掉尾巴,那么自己就无法得到自己推介得到的佣金回扣了。所以隐藏推广链接对于typecho推介博客就很有必要的,通常博主会选择插件实现,其实也可以直接自定义404页面来实现。
1、在当前typecho主题目录下创建一个url.php文件,并输入以下代码:
<?php return array( //此处以下为内链“链接地址”=>“外链地址”,依次添加自定义的转向。 'key' => 'your url here', '160' => 'http://t.160.me', 'typecho' => 'http://typecho.org', 'google' => 'http://google.com', ); ?>
注:就是建立一个返回数组的php文件,通过array[key]来实现读取url,以达到目的。
2、再创建一个404.php文件(如果当前主题已有这个文件,则无需再创建),在文件的顶部输入以下代码:
$tempStr = str_replace("/index.php","",$_SERVER['REQUEST_URI']); $action = substr($tempStr,1,2 ); if( $action == "go" ){ $urlArr = include_once 'tpl_url.php'; $query = trim(substr($tempStr,4),"/"); foreach($urlArr as $key=>$value){$arr[]=$key;} if(in_array($query,$arr)){ header("Location: ".$urlArr[$query]); } }
3、保存文件即可。之后如果访问http://域名/go/160就会跳转到http://t.160.me,同理访问http://域名/go/typecho就会访问到http://typecho.org
注:在后台“控制台”-》“网站外观”-》“编辑当前外观” 中,找到url.php,在里面修改添加自己要生成的外链转向。
PS:该方法实用,但是比较麻烦,每次增加不同的外链就会修改一次文件。
如果闲麻烦可以用插件实现,插件下载地址:GoLinks
以上代码转自:Mr.Asong