我使用插入模块允许用户将具有特定图像样式的图像插入页面。升级到Drupal 7.20后,图像未存储在files/styles
文件夹中,并且图像URL返回403(访问被拒绝)错误。我检查了文件夹权限,它们都设置为777。
我使用插入模块允许用户将具有特定图像样式的图像插入页面。升级到Drupal 7.20后,图像未存储在files/styles
文件夹中,并且图像URL返回403(访问被拒绝)错误。我检查了文件夹权限,它们都设置为777。
Answers:
始终建议您在更新之前阅读新版本的发行说明,以确保更新不会破坏某些当前功能。
Drupal 7.20的发行说明提到:
此版本中的安全修复程序更改了Drupal生成的所有图像派生URL,以将令牌附加为查询字符串。(例如,以前指向诸如http://example.com/sites/default/files/styles/thumbnail/public/field/image/example.png之类的URL的链接现在将指向诸如http:/ /example.com/sites/default/files/styles/thumbnail/public/field/image/example.png?itok=zD_VaCaD。)
您可以向其中添加以下行,settings.php
以使站点中的图像正常工作:
$conf['image_allow_insecure_derivatives'] = TRUE;
但这就像更新核心而不使用更新一样;-)
页面上的一些有用链接:
从Drupal 7.21 的发行说明中,此更新仅包含针对Drupal 7.20安全发行版中引入的不兼容性的修复程序。因此,建议更新到最新版本(即7.21)以使用7.20版中的安全修补程序。
值得的是,我还发现在升级和清除缓存后,我的图像样式目录不再以正确的方式设置正确的权限。
它们的根样式/ [您的样式]和样式/ [您的样式] /公共应该为755,以便正确加载内容。
全部更改它们会再次再次正确显示图像!
执行此编辑不能解决问题并产生错误:
modules / image / image.admin.inc的第775行需要补丁...
775> - $preview_file = image_style_path($style['name'], $original_path); 775> + $preview_file = image_style_url($style['name'], $original_path);
(由于我的声誉很低,我无法在该单独答案下发表评论)
我已经以这种方式实现了它,并在该问题首次出现时解决了很多问题:
$conf['image_allow_insecure_derivatives'] = TRUE;
我还实现了全部更改+FollowSymLinks
,+SymLinksIfOwnerMatch
但仍然无法使图像样式预览正常工作。
下一个也是最后一个选项是更改服务器大小的用户权限ack。我会修复它或将其全部破坏。
modules / image / image.admin.inc的第775行需要补丁...
775> - $preview_file = image_style_path($style['name'], $original_path);
775> + $preview_file = image_style_url($style['name'], $original_path);