经历了几个月的茫然,终于在项目中又开始了定制MOSS2007过程的研究。MOSS2007的结构复杂性远超出我的预期,以至于到现在都没有明白如何定义站点模板。今天在定制的过程中,又遇到了一个问题:项目中需要为某集团的主站点定制Master页面,做美工的同事将公司LOGO的那个banner做成了一个较大的图片,大约100K左右(当然是根据客户要求做的草稿了,那位作美工的兄弟在MOSS定制方面还是很有一套的!),并且将它保存到了网站中(用Designer定制),我在修改master页面的测试过程中,发现那个图片经常很慢,更糟糕的是,当我的下级子网站继承这个MasterPage是,图片部分竟然是空白!想了想才明白,子网站应用MasterPage时,由于图片位置使用的是相对与主网站的路径,在子网站下相对的位置,根本就没有那个Image文件夹,当然找不到图片了。以前我的做法是直接在/_layouts/images下面建自己的文件夹,我认为是一个比较规范的做法,于是就新建了文件夹并将图片拷贝过去,开始竟然还是空白,想起了以前遇到过的情况,就是新建的文件夹没有继承父文件夹的权限,直接考到/_layouts/images下立马OK!
关于图片的权限问题,很多人都遇到过类似的情况,最明显的表现就是,明明配置好了匿名访问,也能看到页面,却不停的弹出登陆对话框要求登陆,还死活找不到原因,这种情况大都和首页上的某个图片的访问权限有关,我也是遇到过多次才搞明白!
另外,将图片放到/_layouts/images下的另外一个好处,就是访问速度的提升,当我调好位置后,同样的图片,再没有明显的延迟!想了想周三刚讲过的MOSS2007性能优化的课,道理自然就明白了!那么大个图片每次都从数据库中去取,当然影响性能了!
转战ERP领域,欢迎交流,微信:Guobower,QQ:124358678