主页 > 编程资料 > Discuz >
发布时间:2015-01-18 作者:网络 阅读:370次


小站的论坛还没有上线,因为论坛附件比较多,所以必须采用DZ的远程附件功能,大家应该都知道DZ的远程附件,大概原理如下:
图片附件:直接显示附件服务器真实的远程附件地址,如dl.xxx.com/xxxxxxx.jpg (图片可是实现分流的目的)
而其他附件:如ZIP等格式,下载附件的原理是DZ通过FTP方式将远程附件下载到论坛服务器,然后转发给下载的用户。(这样用户下载的资源仍然是从论坛服务器下载的,并不能分担论坛流量!反而增加FTP下载远程附件器资源所产生的流量)

通过研究发现DZ的下载附件是通过source\module\forum\forum_attachment.php处理的!
方法不敢独享,还请高手看看此方法有没有其他负作用!

打开source\module\forum\forum_attachment.php
找到第244行如图:
if($attach['remote'] && !$_G['setting']['ftp']['hideurl'] && $isimage) {
 

将 && $isimage删除:
 

修改后的效果:
点击下载连接后,扣除响应积分,然后通过HTTP头的方式跳转到远程附件的真实地址!附件下载不再经过论坛服务器转发!
可能存在的缺点:附件真实地址暴露,应在附件服务器做好防盗链工作!

关键字词: