Discuz!官方免费开源建站系统

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索

[已解决] 教你有效防止外链广告!!!修改discuz的URL代码

[复制链接]
tianlimin 发表于 2009-3-9 20:14:41 | 显示全部楼层 |阅读模式
本帖最后由 tianlimin 于 2009-8-7 21:01 编辑

教你有效防止外链广告!!!修改discuz的URL代码

我把论坛里的URL自带 discuz代码改了.
当会员发贴时,内容里有URL则全都改内嵌模式的,这样搜索引擎就不会认为是外链了
http://www.qhdok.com/home/link.php?url=http://www.baidu.com
  1. http://www.qhdok.com/home/link.php?url=http://www.baidu.com
复制代码
把所有非站内URL都改成内嵌的了

是修改include/discuzcode.func.php里的东西,当然,要把里面的qhdok.com改成自己的网址
还要注意一点:我域名的位数qhdok.com是9位.所以if(substr($temp,0,9)这里大家要改成自己域名的位数

  1. function parseurl($url, $text) {
  2.         if(!$url && preg_match("/((https?|ftp|gopher|news|telnet|rtsp|mms|callto|bctp|ed2k|thunder|synacast){1}:\/\/|www\.)[^\["']+/i", trim($text), $matches)) {
  3.                 $url = $matches[0];
  4.                 $returnval="";
  5.                 $length = 65;
  6.                 if(strlen($url) > $length) {
  7.                         $text = substr($url, 0, intval($length * 0.5)).' ... '.substr($url, - intval($length * 0.3));
  8.                 }
  9.                 $temp=$url;
  10.                 $temp=str_replace("www.","",str_replace("http://","",$temp));
  11.                
  12.                 if(substr($temp,0,9)=="qhdok.com"){
  13.                         if(substr($url,0,4)!="http"){
  14.                                 $url="http://".$url;
  15.                         }
  16.                         $returnval="<a href=".$url." target=_blank>".$text."</a>";
  17.                 }else{
  18.                         $returnval='<a href="http://www.qhdok.com/home/link.php?url='.(substr(strtolower($url), 0, 4) == 'www.' ? 'http://'.$url : $url).'" target="_blank">'.$text.'</a>';/*改了这里URL内嵌*/
  19.                 }
  20.                 return $returnval;
  21.         } else {
  22.                 if(substr($url,0,1)=="="){
  23.                         $url = substr($url, 1);
  24.                 }
  25.                 if(substr(strtolower($url), 0, 4) == 'www.') {
  26.                         $url = 'http://'.$url;
  27.                 }
  28.                 $returnval="";
  29.                 $temp=$url;
  30.                 $temp=str_replace("www.","",str_replace("http://","",$temp));
  31.                 if(substr($temp,0,9)=="qhdok.com"){
  32.                         $returnval="<a href=".$url." target=_blank>".$text."</a>";
  33.                 }else{
  34.                         $returnval='<a href="http://www.qhdok.com/home/link.php?url='.$url.'" target="_blank">'.$text.'</a>';/*改了这里URL内嵌*/
  35.                 }
  36.                 return $returnval;
  37.         }
  38. }
复制代码
.

还要修改一下home/link.php文件中的//游客直接跳转下面加//
  1. if(empty($space)) {
  2.         //游客直接跳转
  3.         //showmessage('do_success', $url, 0);
  4. }
复制代码
.

找到home\template\default\iframe.htm文件.
.
  1. <td height="26" class="link_td">
  2.                         <img src="image/icon/profile.gif" align="absmiddle"> <a target="_blank" href="http://www.qhdok.com/home/">返回我的空间</a> <span class="pipe">|</span>
  3.                         <img src="image/icon/share.gif" align="absmiddle"> <a target="_blank" href="http://www.qhdok.com/">秦皇岛论坛</a> <span class="pipe">|</span>
  4.                         <img src="image/icon/network.gif" align="absmiddle"> <a target="_blank" href="http://www.qhdok.com/qinhuangdaoditu.htm">秦皇岛地图</a> <span class="pipe">|</span>
  5.                         <img src="image/icon/profile.gif" align="absmiddle"> <a href="javascript:;" onClick="javascript:setCopy('http://www.qhdok.com/home/link.php?url=$url');return false;">点击分享给朋友</a>
  6.                 </td>
复制代码
.

OK!!!全改完了,别忘了更新缓存哦~!
转载请注明文章出处秦皇岛论坛http://www.qhdok.com/thread-1448-1-1.html

评分

2

查看全部评分

 楼主| tianlimin 发表于 2009-3-9 20:28:21 | 显示全部楼层
本帖最后由 tianlimin 于 2009-3-10 01:24 编辑

这样一来,用户发广告链接的时候就变成自己的链接了.很好用

当discuz用户在签名处写入链接广告时,也会自动改成此模式.所以就没有外链一说了

大家快来看,评价一下这种改法的优点和缺点!
回复

使用道具 举报

 楼主| tianlimin 发表于 2009-3-9 20:44:59 | 显示全部楼层
顶啊。刚做了修改,改正了带http://的时候不加URL的问题
回复

使用道具 举报

 楼主| tianlimin 发表于 2009-3-9 21:15:25 | 显示全部楼层
我不知道这个方法有没有效,还用不用在robots.txt里面加入
Disallow: /home/link.php
不让机器人收录呢?
回复

使用道具 举报

 楼主| tianlimin 发表于 2009-3-9 21:17:55 | 显示全部楼层
顶.希望有人关注下.
回复

使用道具 举报

 楼主| tianlimin 发表于 2009-3-10 01:24:45 | 显示全部楼层
识货的人不多啊
回复

使用道具 举报

 楼主| tianlimin 发表于 2009-3-10 01:24:57 | 显示全部楼层
识货的人不多啊???
回复

使用道具 举报

 楼主| tianlimin 发表于 2009-3-10 01:25:18 | 显示全部楼层
识货的人不多啊???
回复

使用道具 举报

DAIMONCopy 发表于 2009-3-10 01:49:55 | 显示全部楼层
大晚上的人自然不多,帮顶一下
回复

使用道具 举报

迷失疯子 发表于 2009-3-10 02:11:40 | 显示全部楼层
哇~ 今天我都发帖询问了! 谢了 楼主!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2024-10-3 04:33 , Processed in 0.181723 second(s), 19 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表