网站很多地方避免不了要使用富文本,比如产品详情,帮助中心这些,最著名的是ckeditor+ckfinder了,文本编辑没有什么问题,但是图片遇到问题,由于我们公司的图片是放在CDN上的,而ck系列上传图片的时候是先用ckfinder上传到网站根目录下的某个目录,然后自动生成url地址放到文本编辑的源码里,就能实时预览了,但是这样我的图片就必须要放在我的项目目录下,因为生成的路径是以 / 开头的绝对路径,如果在前台访问的时候会根据当前域名自动补全,导致无法将图片放到CDN上,如果非要放CDN可以,但是需要编辑去源码里一个个去把图片的CDN域名加上,对于那些非技术出身的编辑来说,他们不愿意干!最后我放弃富文本了,采用和CSDN一样的UBB标签,尽可能少的只支持几个标签,比如加粗变色变字体,图片采用img标签,图片使用SVN管理,根据页面URL自动对应图片目录层级,SVN提交后触发hooks,执行同步到CDN的程序,img标签内就直接写以/开头的绝对路径,我们在程序替换的时候给补全cdn域名开始他们也很抵触,比加域名还复杂,后来考虑到使用UBB页面代码干净整洁,而且样式好控制,就耐心培训了两天,总算用的行云流水了!但是现在每进来一个新人都要去培训,而且他们经常要增加一些效果,我就要跟着加支持的UBB,导致现在越来越复杂,新人越来越难掌握!求大神推荐一个解决方案!在这方面经验不是很足!

解决方案 »

  1.   

    CDN主要是加速的作用吧?我有个办法,但是会较少的使用当前服务器资源,但绝对比加载一个图片要少的多。
    方法是使用代理中转,就是说,在你上传图片后,你返回的地址是一个你服务器上的PHP文件,这个PHP接收要显示的图片路径,然后由PHP输出header让浏览器跳转。这个方法我以前用过,不知道你认为如何?
    比如:
    <img src="http://localhost/img.php?path=xxx" /><?php
    $path = $_GET['path'];
    header('Location:http://example.com/img/2014/'.$path);
    ?>