prestashop图像未显示何时打开友好的URL



安装新的SSL证书并将PHP版本从5.x更改为7.1.28的产品图像不再显示在前端中,Chrome Dev Tools显示了404个错误图像文件。它们在产品目录下的后端可见。

看起来是否缺少图像目录,即/home-default/之类的东西,因为在html代码中,图像文件应该直接在文档根目录上,这显然是错误的。

当我关闭"友好URL"时,显示了图像。到目前为止,我尝试的是

  1. 已删除.htaccess,切换友好的URL,以重生.htaccess
  2. 清空缓存并再生图像缩略图
  3. 切换回PHP 5.4
  4. 将全部添加到VHOST配置

没有任何帮助。在服务器上是另一种Prestashop安装,在PHP 7.1.28下运行相同的Prestashop版本1.6.18,"友好URL"工作正常。

我必须说我不知道在哪里照顾这个问题。

在与@harry花了一些时间后,调试了他的配置,我们找到了解决方案,我敢肯定这会对许多其他人有所帮助。

@harry正在使用nginx apache的组合。

  1. 我们检查了他的prestashop .htaccess文件,并确保重新启动并正确触发(例如,正确重写页面,只有图像没有( - 一切都可以。
  2. 我们试图为自己写一个基本的重写以重定向a .jpg而行不通,显示了nginx 404页。
  3. 我们得出结论Nginx正在处理所有静态内容(JS,CSS,JPEG等(,而不是将其转发到Apache。

解决方案

我们从nginx配置中删除了这一部分:

location ~ ^/(.*.(ac3|avi|bmp|bz2|cue|dat|doc|docx|dts|eot|exe|flv|gz|htm|html|img|iso|jpeg|mkv|mp3|mp4|mpeg|mpg|ogg|ppt|pptx|qt|rar|rm|swf|tar|tgz|ttf|txt|wav|xls|xlsx|zip))$ {
                try_files $uri @fallback;
}

作为一般建议,我建议不要使用apache nginx,Prestashop已经与Nginx PHP-FPM效果很好,您将获得出色的表现。

如果您选择此解决方案,请不要忘记将Prestashop重写规则直接设置在Nginx(示例(。

您可以绕过您的主/默认nginx conf参数,以防止您的P.S域的相互冲突的图像HTACCESS规则。(否则默认的conf params阻止了显示.htaccess规则的p.s图像。(

基本:

location / {
    try_files $uri $uri/ /index.php$is_args$args;
}
# Images.
rewrite ^/(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$1$2.jpg last;
rewrite ^/(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$1$2$3.jpg last;
rewrite ^/(d)(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$3/$1$2$3$4.jpg last;
rewrite ^/(d)(d)(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$1$2$3$4$5.jpg last;
rewrite ^/(d)(d)(d)(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6.jpg last;
rewrite ^/(d)(d)(d)(d)(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7.jpg last;
rewrite ^/(d)(d)(d)(d)(d)(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8.jpg last;
rewrite ^/(d)(d)(d)(d)(d)(d)(d)(d)(-[w-]+)?/.+.jpg$ /img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9.jpg last;
rewrite ^/c/([w.-]+)/.+.jpg$ /img/c/$1.jpg last;
# AlphaImageLoader for IE and FancyBox.
rewrite ^images_ie/?([^/]+).(gif|jpe?g|png)$ js/jquery/plugins/fancybox/images/$1.$2 last;

最新更新