使用dedecms 5.7 采集网站信息时,会发现某些图片无法采集的错误。
经过分析,发现是在对路径进行处理的BUG。
如源路径如下:"./2010/2000234234.html"
合成的绝对路径成:“http://xxxx.com/./2010/20000234234.html”
当采集这种路径下的内容时,里面所有图片或文档路径如果也是使用了./开头,则所有图片均无法采集,并且不能显示。路径中的./后的目标路径丢失。
解决方法如下:
\include\dedecollection.func.php
487行 $okurl = 'http://'.preg_replace("/\/{1,}/", '/', $okurl);后增加下面内容
$okurl = str_replace('/./','/',$okurl);
\include\dedehtml2.class.php
407行 $okurl = preg_replace('/\/{1,}/i', '/', $okurl); 后增加
$okurl = str_replace('/./','/',$okurl);
经过测试,碰到以上情况时,问题解决。
刘文建提供。