drupal自动生成缩略图原理分析

在drupal中,使用image_style_url函数可以将一个地址public://…转换成一个外部可访问的URL,这个 函数需要的第一个参数,是图像样式,用来指定缩略图的大小尺寸,在后台admin/config/media/image-styles 配置-媒体-图像样式中配置。

缩略图在用户访问前有可能并未生成,未生成的图片,会有访问时通过服务器如apache、nginx的rewrite规则来生成。在apache服务器下,rewrite规则直接就直接,但在nginx下,需要修改rewrite规则,添加几句,如下:

1
2
3
4
5
6
7
8
location ~* files/styles {
    access_log off;
    expires 30d;
    try_files $uri @rewrite;
}
location @rewrite {
    rewrite ^ /index.php last;
}

也就是说图片只有在访问到该地址时才会生成,这样只有在需要的时候图片才会生成,而生成后又可以重复利用,如果图片更新,只需要删除旧的即可。

发表评论

电子邮件地址不会被公开。 必填项已用*标注