使用dedecms在采集文章的時候,發現dede采集文章相對路徑文章時的一個bug,上網查詢了一個晚上終于找到類似問題的解決辦法,最后把這個問題的根源找到并且解決了。
問題描述:
當采集目標文章中列表或者分頁信息是絕對路徑時,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://' )