这只是一个小小的分享,以后只要折腾出好东西都会拿出来分享,我就喜欢和喜欢折腾的人一起折腾。嘿嘿,如果你想要一些功能,但是高手都不理你,那为什么不一起来折腾呢?既有趣又不用求人,那些商业的东西,我也说不好,但是我还是喜欢和大家一起折腾!~这个ping功能已经在我的站用了http://www.cndtd.com/,还不错,半夜搞完,百度就更新了我首页……希望会越来越好,希望大家的也是!~~
让在wordpress的折腾和共享精神在Discuz也燃烧起来吧,支持的,回复一个!~让更多人看见,沉了,俺会伤心的
好了,废话不说了,上码!!原帖地址:http://www.cndtd.com/thread-27-1-1.html,有使用问题,可以在我的站回复我活着在DZ上回复我!~
ping RPC2原本是博客通知搜索引擎博文更新的服务,能够有效地实现网站与搜索引擎之间的沟通,现在基本已经被各大博客程序使用。因此,ping RPC2功能的确是SEO的方式之一。本站采用的是Discuz X2.0 也想使用ping功能,不过在又是百度又是谷歌硬是没人搞出这个功能。好吧,既然没有,那就开始折腾吧,谁叫俺是发烧友!~
第一步:增加ping文件- <?php
- if(isset($_GET['action']))
- {
- $canshu=$_GET['action'];
- }
- function postUrl($url, $postvar)
- {
- $ch = curl_init();
- $headers = array(
- "POST ".$url." HTTP/1.0",
- "Content-type: text/xml; charset="utf-8"",
- "Accept: text/xml",
- "Content-length: ".strlen($postvar)
- );
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
- curl_setopt($ch, CURLOPT_POST, 1);
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_POSTFIELDS, $postvar);
- $res = curl_exec ($ch);
- curl_close ($ch);
- return $res;
- }
- $baiduXML = "<?xml version="1.0" encoding="utf-8"?>
- <methodCall>
- <methodName>weblogUpdates.extendedPing</methodName>
- <params>
- <param><value><string>CNDTD</string></value></param>
- <param><value><string>http://www.cndtd.com/</string></value></param>
- <param><value><string>http://www.cndtd.com/thread-$canshu-1-1.html</string></value></param>
- <param><value><string>http://www.cndtd.com/forum.php?mod=rss</string></value></param>
- </params>
- </methodCall>";
- $res = postUrl('http://ping.baidu.com/ping/RPC2', $baiduXML);
- if ( strpos($res, "<int>0</int>") )
- {
- header ("Location:http://www.cndtd.com/thread-$canshu-1-1.html");
- }
- else
- {
- header ("Location:http://www.cndtd.com/thread-$canshu-1-1.html#");
- }
- ?>
复制代码 以上参数符合百度的ping标准,你需要将相应的网址和配置修改为你自己的配置,详细内容请看:http://www.baidu.com/search/blogsearch_help.html#n7。修改为你自己的配置之后,将文件保存,文件名请自定义(一定要保密并且难以被猜解:仿制别人利用这个文件不断ping以造成不良影响)。
第二步:修改文件source\include\post\post_newthread.php
查找:
- showmessage('post_newthread_succeed', "forum.php?mod=viewthread&tid=$tid&extra=$extra", $param);
复制代码
修改为:
- showmessage('post_newthread_succeed', "ping文件的文件名称.php?action=$tid", $param);
复制代码 OK,大功告成!如何检测是否ping成功?如果发帖后跳转至的页面尾部包含#符号说明ping失败,如果没有说明ping成功。
|