问题描述
当采集目标文章中列表或者分页信息是绝对路径时,DEDE可以正确采集。
当采集目标文章中列表或者分页信息是相对路径,但是以 '/'开头(如 /2012/0328/1943.html)DEDE也可以正确采集。
当采集目标文章中列表或者分页信息是相对路径,但不是以 '/'开头(如 2012/0328/1943.html)DEDE就不能正确采集了。
解决方案
问题的根源出在 dedehtml2.class.php 中的 FillUrl 函数上。
大概在394行左右:
if( strlen($surl) < 7 ) { $okurl = $this->BaseUrlPath.'/'.$surl; } else if( strtolower(substr($surl,0,7))=='http://' ) { $okurl = preg_replace('/^http:///i', '', $surl); } else { //$okurl = $this->BaseUrlPath.'/'.$surl; $okurl = $this->HomeUrl.'/'.$surl; }
被注释掉的代码是原始的,增加一行问题就解决了