好久没有做技术性的工作了,天天都是改老网站,检查错误...不过今天就要结束了,也快放假了,要过年了。

但是今天改网站时却碰到一个难题,找了半个上午完美解决了。

问题:给一个网站开了一个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,到此结束!