首页 / 帖子
Drupal 7 启用 CDN 模块后出现 Image Styles 生成的图片无权限访问

我们上传图片后,drupal会在对应的image styles的样式文件夹内生成一个图片文件,而启用cdn模块后再上传图片,image styles对应的样式文件夹内就不再生成图片文件。反之,关掉cdn模块后则恢复正常。

比如,图片成功上传后其路径为/sites/default/files/image/page/about.jpg

当使用thumbnail的image styles样式后,正常情况下我们访问/sites/default/files/styles/thumbnail/public/image/page/about.jpg这个的路径是可以看到这个图片的。

即使上传后此文件夹内未生成该图片文件,当首次访问改路径后,也会自动生成。启用cdn模块后图片就不再生成,访问改路径返回403 。

后经google找到了一个临时解决办法,在 settings.php 中加入 $conf['image_allow_insecure_derivatives'] = TRUE; 即可。

http://drupal.stackexchange.com/questions/63226/drupal-7-20-image-styles-return-a-url-with-access-denied


请问是否有更好的解决办法呢?


补充一点,sites/default/files文件夹的所有者同php和apache。临时目录位于/tmp/xxx内。

2个答案
王斌
发布于:2014-07-29 11:26

补充一点,sites/default/files文件夹的所有者同php和apache。临时目录位于/tmp/xxx内。

闻涛
发布于:2014-07-29 21:35

看了你的问题,你的解决办法应该是正确的解决办法,并且这个是Drupal 7.20之后特意修复的一个bug。

除此之外,还有一个模块专门解决这个问题:

Image Allow Insecure Derivatives: https://www.drupal.org/project/image_allow_insecure_derivatives