一派资讯一派资讯一派资讯

网页调用其它服务器上的图片,不显示,为什么?

如题:
由于业务需要,在网站内搭建了一套源码,里面功能还不少,仔细查看,发现某些功能是对接了其他网站的资源,平时用起来也没有什么问题,这几天遇到这个图片调用却不显示的事情,捣鼓了半天终于给解决了,下面和大家分享一下。
网页调用其它服务器上的图片,不显示,为什么?(图1)
事情是这样的:用阿里云ECS服务器搭建了一个PHP环境,安装了某猪CMS的程序源码,其中有一个H5小游戏是调用某猪自己服务器上的资源,说白了就是在我们网站上制作,但是保存后数据是提交到某猪数据库的,这种情况就好比是你花钱买一个东西,你有使用权,但是没有所有权。往常也没什么人去做这个H5小游戏,可能是临近年尾的原因,加上平安夜、圣诞节、元旦、春运等一系列节假日热点话题,近日有几个用户通过我们网站制作H5小游戏,问题就出在这里。如果只是按照模板修改里面的活动标题、活动时间、活动关键词、设置奖品、奖项、概率、分享描述、强制关注等内容的话是没有任问题的,但是如果用户想自定义里面的某些元素,例如背景图片、自定义LOGO、游戏的图标等内容,就会发现替换内容,保存后手机端预览的时候这些自定义过的图片是不显示的。起初,我以为是图片存储的服务器设置了防盗链或者IP白名单,后来发现不是,琢磨了许久,才知道是图片跨域引起的,解决该问题,只需到服务器修改配置文件。
网页调用其它服务器上的图片,不显示,为什么?(图2)
----------------------------------------------------
服务器:阿里ECS
环境:PHP+MYSQL
PHP类型:Apache
----------------------------------------------------
具体操作方法是这样的:
找到Apache的配置文件 httpd.conf
搜索LoadModule headers_module modules/mod_headers.so  去掉前面 #
网站配置文件 httpd-vhosts.conf找到对应网站配置处,加一行
Header set Access-Control-Allow-Origin "*"
重启Apache 就可了
网页调用其它服务器上的图片,不显示,为什么?(图3)
当然如果你用的是IIS 或者是nginx  也是修改对应的配置文件就行,上述修改内容中 * 可以替换为具体的域名。

未经允许不得转载:微信公众号开发 » 网页调用其它服务器上的图片,不显示,为什么?