DEDE采集分页文章时相对路径问题解决方案
优采云 发布时间: 2020-08-09 15:08使用DedeCMS在采集文章的时侯,发现DEDE采集文章相对路径文章时的一个bug,上网查询了一个晚上总算找到类似问题的解决办法,最后把这个问题的症结找到而且解决了。
问题描述:
当采集目标文章中列表或则分页信息是绝对路径时,DEDE可以正确采集。
当采集目标文章中列表或则分页信息是相对路径,但是以 '/'开头(如 /2012/0328/1943.html)DEDE也可以正确采集。
当采集目标文章中列表或则分页信息是相对路径,但不是以 '/'开头(如 2012/0328/1943.html)DEDE就不能正确采集了。
解决方案:
问题的症结出在 dedehtml2.class.php 中的 FillUrl 函数上,大概在394行左右:
if( strlen($surl) < 7 )<br /> {<br /> $okurl = $this->BaseUrlPath.'/'.$surl;<br /> }<br /> else if( strtolower(substr($surl,0,7))=='http://' )<br /> {<br /> $okurl = preg_replace('/^http:\/\//i', '', $surl);<br /> }<br /> else<br /> {<br /> //$okurl = $this->BaseUrlPath.'/'.$surl; <br /> $okurl = $this->HomeUrl.'/'.$surl; <br /> }
被注释掉的(红色)代码是原创的,增加下边一行(绿色)代码问题就解决了。
DedeCms下载:
织梦CMS(DedeCMS) v5.7 SP1 GBK build20150618下载
界面预览