linux php python mysql jquery JavaScript 学习之窗

dedecms 副栏目频道列表无法调用数据的解决方法。

发表文章的时候把这个栏目设置为了主栏目,那么可以读取出列表,但是设置为副栏目后就读不出来东西了

 

修改文件include/inc_arclist_view.php,找到第163行代码,修改代码

$this->addSql .= " And (arc.typeid in ($idlist) Or arc.typeid2=’{$this->TypeID}’) ";

$this->addSql .= " And (arc.typeid in ($idlist) Or arc.typeid2 in ($idlist)) ";

editplus查找替换的正则表达式应用说明(附实例)

表达式 说明
\t        制表符.
\n        换行.
.        匹配任意字符.
|        匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".
[]        匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.
[^]        匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a" 和 "b" 以外的字符. "[^0-9]" 匹配任意非数字字符.
*        其左边的字符被匹配任意次(0次,或者多次). 例如 "be*" 匹配 "b", "be" 或者 "bee".
+        其左边的字符被匹配至少一次(1次,或者多次). 例如 "be+" 匹配 "be" 或者 "bee" 但是不匹配 "b".
?        其左边的字符被匹配0次或者1次. 例如 "be?" 匹配 "b" 或者 "be" 但是不匹配 "bee".
^        其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行.
contentnbsp;       其左边的表达式被匹配在一行的结尾. 例如 "econtentquot; 仅仅匹配以 "e" 结尾的行.
()        影响表达式匹配的顺序,并且用作表达式的分组标记.
\        转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\".

语法集合一:

符号  功能
%     匹配行的开始 – 显示搜索字符串必须在行的开始,但是在所选择的结果字符串中不包括任何行终止字符。
$     匹配行尾 – 显示搜索字符串必须在行尾,但是在所选择的结果字符串中不包括任何行终止字符。
?     除了换行符以外匹配任何单个的字符
*     除了换行符匹配任何数量的字符和数字
+     前一字符匹配一个或多个,但至少要出现一个
++    前一字符匹配零个或多个,但至少要出现一个
^b    匹配一个分页
^p    匹配一个换行符(CR/LF)(段)(DOS文件)
^r    匹配一个换行符(CR 仅仅)(段)(MAC 文件)
^n    匹配一个换行符 ( LF 仅仅 )( 段 )( UNIX 文件 )
^t    匹配一个标签字符TAB
[]    匹配任何单个的字符,或在方括号中的范围
^{A^}^{ B^} 匹配表达式A或 B
^     重载其后的正规表达式字符
^(^)  括或标注为用于替换命令的表达式。

一个正则表达式最多可以有9个标注表达式, 按正规表达式的需要而定。
相应的替换表达式是 ^x , 替换范围x是1-9。例如:
If ^(h*o^) ^(f*s^) matches “hello folks”,
^2 ^1 would replace it with “folks hello”.

(hello folks 将被替换成 folks hello。)

注: ^ 是实际字符 ^不是Ctl + 键值。

正则表达式应用——删除空行   ^[ \t]*\n
表达式的分组使用()来标记. 表达式的分组可以被引用为 \0, \1, \2, \3, 等等. \0 表示被匹配的所有字符串. \1 表示被匹配的第一个分组, \2 表示第二个分组, 依此类推. 举例如下.

原文        查找         替换                 结果
abc     (ab)(c)        \0-\1-\2        abc-ab-c
abc     a(b)(c)        \0-\1-\2        abc-b-c
abc     (a)b(c)        \0-\1-\2        abc-a-c

【1】正则表达式应用——替换指定内容到行尾
原始文本如下面两行
abc aaaaa
123 abc 444

希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg”
即上面的文本最终替换为:
abc efg
123 abc efg

解决:
① 在替换对话框,查找内容里输入“abc.*”
② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮
其中,符号的含义如下:
“.” =匹配任意字符
“*” =匹配0次或更多

注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。

【2】正则表达式应用——数字替换
希望把
asdadas123asdasdas456asdasdasd789asdasd
替换为:
asdadas[123]asdasdas[456]asdasdasd[789]asdasd

在替换对话框里面,勾选“正则表达式”复选框;
在查找内容里面输入“[0-9][0-9][0-9]”,不含引号
“替换为:”里面输入“[\0\1\2]”,不含引号
范围为你所操作的范围,然后选择替换即可。

实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例
上面重复使用了“[0-9]”,表示连续出现的三个数字
“\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推
“[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为:

asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd

功能增强(by jiuk2k):
如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 …
大家根据需要定制

相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下

【3】正则表达式应用——删除每一行行尾的指定字符
因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现
比如
12345 1265345
2345
需要删除每行末尾的“345”
这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下
解决:
在替换对话框中,启用“正则表达式”复选框
在查找内容里面输入“345contentrdquo;
这里“contentrdquo;表示从行尾匹配

如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串
a. 选择要操作的行
b. 编辑-格

dedecms模板制作基础教程参考资料-功能模块对应的模板路径

dedecms,template模板文件于各功能模块的对应表

常用内容模型与default目录

首页模板 \templets\default\index.html
文章频道首页 \templets\default\index_article.htm
文章列表页 \templets\default\list_article.htm
文章内容页 \templets\default\article_article.htm
图集频道首页 \templets\default\index_image.htm
图集列表页 \templets\default\list_image.htm
图集内容页 \templets\default\article_image.htm
图集详细页面 \templets\plus\showphoto.htm
软件频道首页 \templets\default\index_soft.htm
软件列表页 \templets\default\list_soft.htm
软件内容页 \templets\default\article_soft.htm
软件最终下载页 \templets\plus\download_links_templet.htm
动画频道首页 \templets\default\index_flash.htm
动画列表页 \templets\default\list_flash.htm
动画内容页 \templets\default\article_flash.htm
产品频道首页 \templets\default\index_product.htm
产品列表页 \templets\default\list_product.htm
产品内容页 \templets\default\article_product.htm
分类信息频道首页 \templets\default\index_info.htm
分类信息列表页 \templets\default\list_info.htm
分类信息内容页 \templets\default\article_info.htm
分类信息搜索页 \templets\default\infosearch.htm
专题列表页 \templets\default\list_spec.htm
专题内容页 \templets\default\article_spec.htm

 

图书模块

图书首页 \templets\default\books_index.htm
图书列表页 \templets\default\books_list.htm
图书搜索页 \templets\default\books_search.htm
图书内容页 \templets\default\books_book.htm
小说章节内容页 \templets\default\books_story.htm
漫画章节内容页 \templets\default\books_photo.htm
vip章节内容页 \templets\default\book_member_err.htm

问答模块

问答首页 \ask\template\default\dede.htm
问答列表页 \ask\template\default\browser.htm
问答内容页 \ask\template\default\question.htm
问答提问页 \ask\template\default\post.htm
问答内容维护页 \ask\template\default\post.adopt.htm
\ask\template\default\post.extra.htm
\ask\template\default\post.upreward.htm
问答搜索结果页 \ask\template\default\search.htm
问答消

DedeCms V5.1 SP1无法调用副栏目数据BUG的解决方法

5.1升级SP1后出现自由标记Arclist不能列表副栏目的问题

分析如下DEDECMS的标签代码:

<!–{dede:arclist row=5 titlelen=100 orderby=’id’ typeid=’19′ type=’image.’ imgwidth=’106′ imgheight=’140′} –>

<!–{/dede:arclist} –>

其中typeid=” 变量的值19 如果是主栏目的话, 这里的5行数据 会正常的读库出来, 但是如果 这个id的值是附属栏目,(这里还是举例说明吧,以手机主题为例子,我们将手机主题分为 诺基亚手机主题  摩托手机主题 索爱手机主题 ……    但是又按主题的类型再分为 非主流手机主题 炫酷手机主题 ….  这里问题就出来了. 我们添加主题的时候,将可爱的rabbit兔兔 这个主题 放到索爱M608C系列 ID是4   但是我又要将他放到附属栏目"卡通可爱手机主题" ID 为19 中去.  这样一来. 如果我的ID19的栏目中 全部都只有这样的附属进来的数据,没有直接添加数据. 那么上面的DEDECMS标签就将无法返回数据.)

这里就清楚了 这个bug所在的问题了.,该Bug出现在SP1的include/inc/inc_fun_SpGetArcList.php文件中.

 

还得自己解决问题:将include/inc/inc_fun_SpGetArcList.php文件的103行的代码
    {
         $ridnum = count($reids);
         if($ridnum>1)
         {
             $sonids = ”;
           for($i=0;$i<$ridnum;$i++){
                 $sonids .= ($sonids==” ? TypeGetSunID($reids[$i],$dsql,’arc’,0,true) : ‘,’.TypeGetSunID($reids[$i],$dsql,’arc’,0,true));
           }
           $orwhere .= " And arc.typeid in ($sonids)  ";
         }else{
             $sonids = TypeGetSunID($typeid,$dsql,’arc’,0,true);
             $orwhere .= " And arc.typeid in ($sonids) ";
         }
         unset($reids);
    }

替换为下列代码
        {
         $ridnum = count($reids);
         if($ridnum>1)
         {
             $sonids = ”;
           for($i=0;$i<$ridnum;$i++){
                 $sonids .= ($sonids==” ? TypeGetSunID($reids[$i],$dsql,’arc’,0,true) : ‘,’.TypeGetSunID($reids[$i],$dsql,’arc’,0,true));
           }
           $orwhere .= " And ( arc.typeid in ($sonids) Or arc.typeid2 in ($sonids) ) ";
         }else{
             $sonids = TypeGetSunID($typeid,$dsql,’arc’,0,true);
             $orwhere .= " And ( arc.typeid in ($sonids) Or arc.typeid2 in ($sonids) ) ";
         }
         unset($reids);
     }

问题解决。

版权说明

 

 本文章ImFantasy 原创, 可随意转载, 但请注明出处, 并给连接! 谢谢 http://www.imfantasy.com.cn/post/dedecms-fulanmu-diaoyong.shtml

今天百度收录了我的博客,如何让百度更快的收录新站呢?

博客是9-24号建立的, 今天10-15号,基本上快有一个月了,百度才收录. GG  YAHOO早就收录.  但是我看iis日志,发现百度并不是不知道有这个博客,每天都在爬,而且比Google的爬得更凶, 也许百度收录新站的策略是一个市场策略,而不是技术方面的原因,我想如果他们要发现一个新站,并收录这个新站应该很容易的, 他们只是在考验新站,为网友提供更好的搜索用户体验, 毕竟现在的垃圾站越来越来.百度的技术也是有限的,收录的站多了,他的关键词检索的相关性必然会更低, 这个是事实了, 在Google里面搜一个词,你打开一个站 很少会发现这个站并不是你要的这个词相关性的内容,而百度则经常出现类似的情况,由此分析,百度还需进步.  我们还需努力, 做站要坚持,做新站更要坚持.  坚持更新, 坚持伪原创吧.

继续加油.

这两天比较忙,和小魁一起策划了几个站.希望俺们兄弟俩好好搞. 坚持就是胜利! come on!

最近跟小魁策划做个几个站,好好学习一下, 前期定位还在探讨,希望我们兄弟俩能够成功,最重要的是能学到东西, 起码得要对得起那百独带宽的服务器. 和俺们兄弟俩忙到凌晨四点的斗志.

 

 

跟小魁学学linux环境下的 服务器管理,  共同研究一下服务器, 网站就由我主要负责建设起来,环境就靠小魁兄弟了. 呵呵  我们一定要做好,  奶奶的个胸呀.  不做好,我们就是"范跑跑"!

 

 

小魁,加油!  周冲,加油!   COME ON!

 

 

这几天比较忙  ,呵呵 ,要写毕业论文, 要制作新站的模板,哎,焦头烂额的了.  JavaScript的学习只有等下星期继续了.   坚持   坚持!

今天准备要好好学学JavaScript了,一边学一边做个记录.

好多页面的设计都需要JavaScript来完成相应的功能, css虽然强大,但是没有JavaScript  的页面还是不行.  呵呵.

 

 

到现在还不能自己写JavaScript,我决定要好好看看,http://www.w3school.com.cn 的教程了,顺便做个学习笔记在我的博客里面!

 

 

呵呵!  事先申明:JavaScript我纯属初学,接下来的所有JavaScript的学习资料,将大部分出自http://www.w3school.com.cn, 我只是做适合我自己的整理,与相应的心得. JavaScript教程版权 所有权规原作者所有.

转载一个让插入到 innerHTML 中的 script运行的JS代码

    先说说这个js的作用吧, 做站的过程中,我们无疑都会放一些广告,  Google ads  baidu ads  alimama ads …  广告联盟都是以js方式提供的广告代码, 我们在布局网站的时候,就遇到一个问题了,JavaScript的加载速度比我们服务器端的asp  .net  php 等文件的加载速度慢一些,比html静态文件就更慢了, 但是往往一个广告 或许他又在正文之前, 按照浏览器的解析顺序,浏览器会先加载这个js 加载完毕再来加载我们的内容,这样似乎对用户体验并不好,如何让浏览器先加载内容 再加载广告呢!  这个解决方法研究很久,一直没有结果, 我自己弄的一个,只支持ie浏览器,在火狐下面就无法加载那个js了. 也是用的innerhtml技术  我的那个代码简单些,当然功能也是垃圾多了.呵呵.

     

    下面我们就看看http://www.coolcode.cn/的站长是怎么做的.  

    先看看innerhtml.js这个文件.  我也不是很懂这个js,就无法做什么说明了, 凑合着用吧. 呵呵.  浏览器兼容是没有问题的.

     

  1. /* innerhtml.js  
  2.  * Copyright Ma Bingyao <andot@ujn.edu.cn>  
  3.  * Version: 1.9  
  4.  * LastModified: 2006-06-04  
  5.  * This library is free.  You can redistribute it and/or modify it.  
  6.  * http://www.coolcode.cn/?p=117  
  7.  */  
  8.   
  9. var global_html_pool = [];   
  10. var global_script_pool = [];   
  11. var global_script_src_pool = [];   
  12. var global_lock_pool = [];   
  13. var innerhtml_lock = null;   
  14. var document_buffer = "";   
  15.   
  16. function set_innerHTML(obj_id, html, time) {   
  17.     if (innerhtml_lock == null) {   
  18.         innerhtml_lock = obj_id;   
  19.     }   
  20.     else if (typeof(time) == "undefined") {   
  21.         global_lock_pool[obj_id + "_html"] = html;   
  22.         window.setTimeout("set_innerHTML(’" + obj_id + "’, global_lock_pool['" + obj_id + "_html']);", 10);   
  23.         return;   
  24.     }   
  25.     else if (innerhtml_lock != obj_id) {   
  26.         global_lock_pool[obj_id + "_html"] = html;   
  27.         window.setTimeout("set_innerHTML(’" + obj_id + "’, global_lock_pool['" + obj_id + "_html'], " + time + ");", 10);   
  28.         return;   
  29.     }   
  30.   
  31.     function get_script_id() {   
  32.         return "script_" + (new Date()).getTime().toString(36)   
  33.           + Math.floor(Math.random() * 100000000).toString(36);   
  34.     }   
  35.   
  36.     document_buffer = "";   
  37.   
  38.     document.write = function (str) {  &nbsp
    ;
  39.         document_buffer += str;   
  40.     }   
  41.     document.writeln = function (str) {   
  42.         document_buffer += str + "\n";   
  43.     }   
  44.   
  45.     global_html_pool = [];   
  46.   
  47.     var scripts = [];   
  48.     html = html.split(/<\/script>/i);   
  49.     for (var i = 0; i < html.length; i++) {   
  50.         global_html_pool[i] = html[i].replace(/<script[\s\S]*$/ig, "");   
  51.         scripts[i] = {text: , src:  };   
  52.         scripts[i].text = html[i].substr(global_html_pool[i].length);   
  53.         scripts[i].src = scripts[i].text.substr(0, scripts[i].text.indexOf(‘>’) + 1);   
  54.         scripts[i].src = scripts[i].src.match(/src\s*=\s*(\"([^\"]*)\"|\‘([^\']*)\’|([^\s]*)[\s>])/i);   
  55.         if (scripts[i].src) {   
  56.             if (scripts[i].src[2]) {   
  57.                 scripts[i].src = scripts[i].src[2];   
  58.             }   
  59.             else if (scripts[i].src[3]) {   
  60.                 scripts[i].src = scripts[i].src[3];   
  61.             }   
  62.             else if (scripts[i].src[4]) {   
  63.                 scripts[i].src = scripts[i].src[4];   
  64.             }   
  65.             else {   
  66.                 scripts[i].src = "";   
  67.             }   
  68.             scripts[i].text = "";   
  69.         }   
  70.         else {   
  71.             scripts[i].src = "";   
  72.             scripts[i].text = scripts[i].text.substr(scripts[i].text.indexOf(‘>’) + 1);   
  73.             scripts[i].text = scripts[i].text.replace(/^\s*<\!–\s*/g, "");   
  74.         }   
  75.     }   
  76.   
  77.     var s;   
  78.     if (typeof(time) == "undefined") {   
  79.         s = 0;   
  80.     }   
  81.     else {   
  82.         s = time;   
  83.     }   
  84.   
  85.     var script, add_script, remove_script;   
  86.   
  87.     for (var i = 0; i < scripts.length; i++) {   
  88.         var add_html = "document_buffer += global_html_pool[" + i + "];\n";   
  89.         add_html += "document.getElementById(’" + obj_id + "’).innerHTML = document_buffer;\n";   
  90.         script = document.createElement("script");   
  91.         if (scripts[i].src) {   
  92.             script.src = scripts[i].src;   
  93.             if (typeof(global_script_src_pool[script.src]) == "undefined") {   
  94.                 global_script_src_pool[script.src] = true;   
  95.                 s += 2000;   
  96.             }   
  97.             else {   
  98.                 s += 10;   
  99.             }   
  100.         }   
  101.         else {   
  102.             script.text = scripts[i].text;   
  103.             s += 10;   
  104.         }   
  105.         script.defer = true;   
  106.         script.type =  "text/javascript";   
  107.         script.id = get_script_id();   
  108.         global_script_pool[script.id] = script;   
  109.         add_script = add_html;   
  110.         add_script += "document.getElementsByTagName(’head’).item(0)";   
  111.         add_script += ".appendChild(global_script_pool['" + script.id + "']);\n";   
  112.         window.setTimeout(add_script, s);   
  113.         remove_script = "document.getElementsByTagName(’head’).item(0)";   
  114.         remove_script += ".removeChild(document.getElementById(’" + script.id + "’));\n";   
  115.         remove_script += "delete global_script_pool['" + script.id + "'];\n";   
  116.         window.setTimeout(remove_script, s + 10000);   
  117.     }   
  118.   
  119.     var end_script = "if (document_buffer.match(/<\\/script>/i)) {\n";   
  120.     end_script += "set_innerHTML(’" + obj_id + "’,
     document_buffer, "
     + s + ");\n";   
  121.     end_script += "}\n";   
  122.     end_script += "else {\n";   
  123.     end_script += "document.getElementById(’" + obj_id + "’).innerHTML = document_buffer;\n";   
  124.     end_script += "innerhtml_lock = null;\n";   
  125.     end_script += "}";   
  126.     window.setTimeout(end_script, s);   
  127.   }


 

这个js来定义广告   ads.js

var ad250×250 = "<script type=\"text\/javascript\"><!–\n\rgoogle_ad_client = \"pub-1574025608211710\";\n\rgoogle_ad_slot = \"8781672493\";\n\rgoogle_ad_width = 250;\n\rgoogle_ad_height = 250;\n\rgoogle_language = ‘zh-CN’;\n\r\/\/–><\/script>\n\r<script type=\"text\/javascript\"\n\rsrc=\"http:\/\/pagead2.googlesyndication.com\/pagead\/show_ads.js\">\n\r<\/script>";

set_innerHTML(’ad250_250′,ad250×250);
 

 

html页面给图层加一个id就可以了.

<div id="ad250_250"></div>

 

 

最后将innerhtml.js 和ads.js两个文件放在网站的最底部就可以实现,全站先加载内容,再加载Google的广告了.

<div id="ad250_250"></div>这个图层你还可以加入你自己的说明  比如说"广告正在加载…"之类的,也可以是一个gif动画 ,也就做一个精度条. 呵呵

我也慢慢摸索来着.   等下在自己的站上去试验.

10天没有跟新博客了.最近新做几个站.

 

 

最近忙着做好几个新站,  哎.老站被百度K了.  没有任何理由的K掉.  我靠. 没有办法 ,努力做新站.

 

手机主题站  手机主题下载 就来视泡手机主题网. 呵呵

 

 

手机电子书  txt电子书 就来191txt电子书

 

 

摘录百度今天爬我博客的IIS日志,分析百度蜘蛛Baiduspider爬行后返回代码代表的具体含义

首先来看看百度蜘蛛Baiduspider爬行后返回代码代表的具体含义

2xx 成功
200 正常;请求已完成。
201 正常;紧接 POST 命令。
202 正常;已接受用于处理,但处理尚未完成。
203 正常;部分信息 — 返回的信息只是一部分。
204 正常;无响应 — 已接收请求,但不存在要回送的信息。
3xx 重定向
301 已移动 — 请求的数据具有新的位置且更改是永久的。
302 已找到 — 请求的数据临时具有不同 URI。
303 请参阅其它 — 可在另一 URI 下找到对请求的响应,且应使用 GET 方法检索此响应。
304 未修改 — 未按预期修改文档。
305 使用代理 — 必须通过位置字段中提供的代理来访问请求的资源。
306 未使用 — 不再使用;保留此代码以便将来使用。
4xx 客户机中出现的错误
400 错误请求 — 请求中有语法问题,或不能满足请求。
401 未授权 — 未授权客户机访问数据。
402 需要付款 — 表示计费系统已有效。
403 禁止 — 即使有授权也不需要访问。
404 找不到 — 服务器找不到给定的资源;文档不存在。
407 代理认证请求 — 客户机首先必须使用代理认证自身。
410 请求的网页不存在(永久);
415 介质类型不受支持 — 服务器拒绝服务请求,因为不支持请求实体的格式。
5xx 服务器中出现的错误
500 内部错误 — 因为意外情况,服务器不能完成请求。
501 未执行 — 服务器不支持请求的工具。
502 错误网关 — 服务器接收到来自上游服务器的无效响应。
503 无法获得服务 — 由于临时过载或维护,服务器无法处理请求。
 
下面是今天我博客的IIS日志里面截取的部分蜘蛛爬行记录(呵呵,我博客没有流量,IIS日志里面基本都是蜘蛛的记录)

2008-10-01 00:58:09 W3SVC975353005 58.49.59.140 GET /guestbook.asp – 80 – 61.135.168.22 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 0

2008-10-01 01:07:32 W3SVC975353005 58.49.59.140 GET /catalog.asp tags=设计 80 – 61.135.168.22 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64

2008-10-01 01:02:12 W3SVC975353005 58.49.59.140 GET /catalog.asp tags=%E6%9D%82%E8%B0%88 80 – 202.160.178.88 Mozilla/5.0+(compatible;+Yahoo!+Slurp+China;+http://misc.yahoo.com.cn/help.html) 200 0 0

2008-10-01 03:41:21 W3SVC975353005 58.49.59.140 GET /catalog.asp cate=5 80 – 202.108.7.212 Mozilla/5.0+(compatible;+YodaoBot/1.0;+http://www.yodao.com/help/webmaster/spider/;+) 200 0 0

下面是普通用户的浏览记录

2008-10-01 01:04:31 W3SVC975353005 58.49.59.140 HEAD /Default.asp – 80 – 58.30.18.49 SiteStatusChecker+(x86_64-centserver-linux-gnu,http://www.vdoing.com) 200 0 0

 

来具体分析一下百度蜘蛛的这个返回码!

比如说:

2008-10-01 01:07:32 W3SVC975353005 58.49.59.140 GET /catalog.asp tags=设计 80 – 61.135.168.22 Baiduspider+(+http://www.baidu.com/search/spider.htm) 200 0 64

这个意味着百度蜘蛛在今天1点7分的适合爬过www.imfantasy.com.cn/catalog.asp tags=设计这个页面,200 0 0 21089中的200协议代码代表了请求已完成也就是它发现这页并以入库了。根据这个我们可以多查看iis日志,研究蜘蛛爬行的路径,找出自己网站存在的问题,进而改正。