

入口文件的自定义define:
define('IMG_UPLOAD', SITE_URL.'AuthCms/public/');文件上传路径:$config = array(
'rootPath' => './public/',//根目录
'savePath' => 'upload/',//保存目录
);图片显示代码:{$smarty.const.IMG_UPLOAD}{$v.goods_big_img}apache站点配置:DocumentRoot /var/www/html/AuthCmsfirebug中的图片地址:本地上传的能显示图片

发布到服务器,通过域名访问来上传的,不显示:

数据库中的图片地址(画红框的是本地上传的数据,可显示):

问题是:在本地使用图片上传功能,成功上传图片并显示,把网站部署到阿里云ecs服务器,并通过域名访问来上传图片,则图片显示失败,疑惑是,在firebug中的两个链接地址形式一模一样,都是
http://localhost/AuthCms/public/upload/2016-06-14/575f87661f451.jpg,但就是后者不能显示。把http://localhost/AuthCms替换成域名,又能正常访问到图片。我把项目名改成authcms小写了,还是不行。权限777,且在服务器上传目录下,能找到已上传的图片,问题就在于不显示。
为什么呢?
大神,求解!
解决办法:
原本路径常量是localhost没改过来。
新增自定义域名常量,然后和图片路径拼接。
最佳答案