![]() |
|
|||||||
![]() |
|
|
Thread Tools | Display Modes |
|
#1
IP: 180.125.123.205
|
|||
|
|||
|
使用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://' ) { $okurl = preg_replace('/^http:\/\//i', '', $surl); } else { //$okurl = $this->BaseUrlPath.'/'.$surl; $okurl = $this->HomeUrl.'/'.$surl; } 被注释掉的(红色)代码是原始的,增加下面一行(绿色)代码问题就解决了。 |
![]() |
| Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
|
|