码迷,mamicode.com
首页 > 其他好文 > 详细

Drupal开发时如何使用远端图片减轻工作量

时间:2016-01-22 14:10:34      阅读:152      评论:0      收藏:0      [点我收藏+]

标签:

  如果你有遇到过较大规模的 Drupal 项目,但可能已经发现了当 files 目录过于巨大对开发所带来的巨大挑战。如何让开发服务器(或者你的个人电脑)与这些文件保持同步是件非常痛苦的事情,但如果不这样做,往往又会因为无法使用用户上传的文件或附件,使网站开发过程中的很多重要的问题无法被发现。

  要解决这个问题有非常多的办法,但要么非常慢,要么非常复杂。例如使用Drush命令或者使用脚本程序将网站的文件下载后再上传到本地开发环境,甚至有人会考虑使用FTP执行这样的操作(请千万不要这样做)。尽管这些办法都能达到效果,但我还是希望能够节约宝贵时间和硬盘空间。

  最开始我们找到了 Stage File Proxy 模块,它能够让 Drupal 将所有的文件请求都定向到线上服务器,即使网站是在本地运行时也可以有效工作。但是要让这个模块正常工作,需要对网站进行一些调整并安装额外的模块。所以,尽管这个模块可以解决问题,但我还是希望能有其它的方案。

  之后,我们发现可以使用 Apache 的 URL重写规则来满足需要——当Apache程序在处理连入的网页请求时,重写规则允许它对满足指定规则的URL地址进行修改——例如,它可以将访问本地 files 目录的请求重定向到线上的服务器。

  经过查找有关URL重写规则的帖子和教程,我们终于可以写出所需要的代码了。因为我使用 MAMP 进行开发,所以添加 Apache 配置代码片段比安装模块要简单得多。同时这个办法即不需要对修改网站设置,也不需启用新的模块。如果你不是使用 MAMP 作为开发环境,Apache重写配置代码的设置可能会略有不同。(译注:其实就是将以下配置代码片段粘贴到Apache网站配置部分)

  以下便是让 Drupal 开发时使用远程文件的示例代码:

### Apache Rewrite

 

    RewriteEngine on

    # Force image styles that have local files that exist to be generated.

    RewriteCond %{REQUEST_URI} ^/sites/([^\/]*)/files/styles/[^\/]*/public/((.*))$

    RewriteCond %{DOCUMENT_ROOT}/sites/%1/files/%2 -f

    RewriteRule ^(.*)$ $1 [QSA,L]

    # Otherwise, send anything else that‘s in the files directory to the

    # production server.

    RewriteCond %{REQUEST_URI} ^/sites/[^\/]*/files/.*$

    RewriteCond %{REQUEST_URI} !^/sites/[^\/]*/files/css/.*$

    RewriteCond %{REQUEST_URI} !^/sites/[^\/]*/files/js/.*$

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule ^(.*)$ http://www.example.com/$1 [QSA,L]

  如果你使用MAMP进行开发,打开MAMP,在高级面板的最下方找以“自定义虚拟主机设置”,将上面的代码粘贴进去后进行保存即可(注意将代码中的 example.com 修改成你自己的域名地址)。

 技术分享

  最后,只需要重启Aapche便可以让 Drupal 本地开发的站点直接使用远程的文件,而我也可以让节省下来的硬盘空间来放更多的猫咪图片了。

原文标题:Drupal开发时如何使用远端图片减轻工作量

原文地址:http://drupalct.org/drupal-development/use-remote-images-and-files-for-local-drupal-development.html

Drupal开发时如何使用远端图片减轻工作量

标签:

原文地址:http://www.cnblogs.com/drupalteam/p/5150579.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!