据反映,有部分文章中图片不能正常显示。经检查代码,发现出现两类问题:
1、因网站链接调整,原来的80端口访问调整为8006端口访问,原来的图片链接失效,如原来的链接为“http://www.lzzz.com.cn/admin/XXX/XX.jpg”,调整后正确的访问链接应该是http://www.lzzz.com.cn:8006/admin/XXX/XX.jpg;解决办法是:将原来链接的http://www.lzzz.com.cn替换为“”,访问时浏览器会自动补全域名。
2、老网站迁移过来的数据(图片),导致链接指向不正确。解决办法是:将老网站图片导入到现网站中,并按照原有路径存放。
相关代码如下:
$Content=str_replace("http://www.lzzz.com.cn:8006","",$Content);
$Content=str_replace("http://www.lzzz.com.cn","",$Content);
讨论:一种解决方案是直接修改数据库中链接的内容;一种是在页面显示时修改显示内容的链接;
第一种方法可以一劳永逸,但是需要单独处理数据库,具有一定操作风险。(操作前需要备份数据库),同时要对数据库所有记录进行全面检查。因此最好做一个数据迁移程序。
第二种方法只需要两行代码,无操作风险。另鉴于网站采用的8006端口也是临时应用,将来网站还是要用80端口。故被采用。
有伙伴问,为什么使用8006端口而不用80端口?学校拟开通微信公众号(目前没弄好),如果使用微信公共接口调用学校数据会占用80端口,目前将该端口空出来在做尝试。将来计划将网站服务和微信数据调用服务整合到一起,这样网站就可以继续用80端口访问了。