从文件系统或远程备用服务

时间:2013-03-22 15:39:32

标签: php apache

请注意,以下内容仅用于开发目的,因此我对安全性不太关注。

情况如下:

  • 文件来自assets.example.com
  • 本地开发环境尝试从localhost.assets.example.com加载文件
  • 我们希望将localhost.assets.example.com和assets.example.com保持同步。
    • 有很多数据,所以在本地保存这些数据是有问题的。
    • 需要在localhost.assets.example.com上提供替换或新文件,而不会影响实时assets.example.com

建议的解决方案:

  • 当向localhost.assets.example.com发出请求时,如果该文件存在则从本地文件系统提供该文件,如果该文件不存在,则查看尝试从assets.example.com提供该文件。存在。其他404。

这样做的结果是,只有更改或新文件需要在开发机器上存在,并且在本地删除所有资产文件实际上将镜像实时资产。

我们已经在使用PHP 5.3,因此可以将其用作解决方案的一部分。

1 个答案:

答案 0 :(得分:0)

在apache中:

 RewriteCond %{REQUEST_FILENAME} !-f
 RewriteCond %{REQUEST_FILENAME} !-d
 RewriteRule (.*) http://assets.example.com/$1 [P]

[P]

  

使用[P]标志会导致请求由mod_proxy处理,并通过代理请求进行处理。