对静态网站进行白色标记的最佳做法?

时间:2012-02-22 13:10:48

标签: linux apache white-labelling

我的目录结构包含目录'web'下的文件,它代表一个白标网站(html文件,图像,js等)。 我还有20个不同的“品牌”,我们称之为“web-1”,“web-2”等,每个品牌都包含特定文件,这些文件应覆盖特定品牌的“网络”文件。

Apache配置为在文档根“website-i”中查找每个虚拟站点i的文件。 为了让每个'website-i'包含'web'等内容以及品牌'web-i'的覆盖,我的构建脚本首先将所有'web'复制到'website-i'然后用源代码覆盖它来自'web-i'的文件。

这种方法存在一些问题:

  1. 复制文件需要时间。
  2. 需要大量磁盘空间
  3. 添加新品牌需要添加到脚本中。
  4. 以不需要复制文件的方式执行此操作是否有最佳做法? (使用Apache和Linux)

1 个答案:

答案 0 :(得分:0)

嗯,最好的解决方案是使用非常简单的服务器端代码,但我会假设你已经拒绝了,可能是因为你没有权限在服务器上运行代码(尽管如果你的黑客配置那么你可能会这样做。

config 中的解决方案可以使其从默认根目录服务,但如果文件存在于正确的目录中,则重写url ...

RewriteCond  /web-1/a_file  -f
RewriteRule  ^(.*)$  /web/$1  

但是你必须为每个品牌的每个文件都这样做。如果文件存储在与主机名相同的目录中,但是对我来说太复杂了,你可能会更加聪明。

说真的,服务器端代码是继续这个......

奇怪的是,几周前,一位同事处于完全相同的状态,他最终将其重写为PHP。每个站点都是数据库中的一行,一个页面用于提取已更改的文本和图像的URL等,如果没有任何内容,则会回退到默认值。

说完了这一切。如上所述,使用链接可以解决问题2,可能大部分是1,我认为没有任何方法可以解决问题。