帝国cms二级域名图片调用相对路径解决办法
好久没有做技术性的工作了,天天都是改老网站,检查错误...不过今天就要结束了,也快放假了,要过年了。
但是今天改网站时却碰到一个难题,找了半个上午完美解决了。
问题:给一个网站开了一个wap手机站,用的是帝国cms系统,wap站用的是pc站的数据,不用更新,pc站更新wap站也会更新。但问题是帝国cms文件上传默认路径是/d/file/,上传的图片也是这个路径,调用图片是路径就是/d/file/...,上面我们说了更新文章不在wap端,所以上传的图片也不在这个服务器上,那么wap端就调用不出来图片了,这就意味着出现了大量404...
解决办法:
1)、<base href="http://www.****.***/" /> 例:<base
href="http://www.chingli.net/" />
在模板里<head></head>中间加这个代码就可,参考:二级域名图片不显示的解决方法
2)、到了这里图片路径就没问题了,但是其他相对路径链接就会出现链接也是PC端的链接的情况,这个很容易,把相对路径都改为绝对路径。
3)、如果你认为到这里就结束了,那高兴的还有点为时尚早,上一篇下一篇竟然是PC端的路径...这个也很好解决,第一种办法就是修改帝国cms源码里的上一篇下一篇规则,直接写成绝对路径,但没有找到上一篇下一篇源码在哪个文件夹下,因为我压根就没找...第二种方法也就是我用的这种方法,参考的是帝国CMS灵动标签调用上一篇,下一篇标题链接字数截取,方法如下:
<!--上一篇--> [e:loop={'selfinfo',1,0,0,'id<'.$navinfor[id].'','id desc'}] 上一篇:<a target="_self" href="http://wap.chingli.net/(你的二级域名)<?php echo $bqsr[titleurl]; $pre='true'; ?>"><?=$bqr[title]?> </a> [/e:loop] <?php if(empty($pre)){ echo "上一篇:很抱歉没有了"; } ?> <!--下一篇--> [e:loop={'selfinfo',1,0,0,'id>'.$navinfor[id].'','id asc'}] 下一篇:<a target="_self" href="http://wap.chingli.net/(你的二级域名)<?php echo $bqsr[titleurl]; $next='true'; ?>"><?=$bqr[title]?> </a> [/e:loop] <?php if(empty($next)){ echo "下一篇:很抱歉没有了"; } ?>
OK,到此结束!