我有一个目录结构与文件目录' web ',它代表一个白色标签网站(html文件,图像,js等)。我也有大约20个不同的‘品牌’,让我们称之为'web-1','web-2‘等,每一个包含特定的文件,应该覆盖在’网络‘中的文件,为一个特定的品牌。
Apache被配置为在document‘website’中查找每个虚拟站点i的文件。为了让每一个“网站-我”包含“web”之类的内容,并覆盖品牌“web-i”,我的构建脚本首先将所有的“web”复制到“网站-我”,然后用“web-i”中的源文件重写它。
这种方法有几个问题:
这样做的最佳做法是否不需要复制文件?(使用Apache和Linux)
发布于 2012-02-22 23:36:20
好吧,最好的解决方案是使用非常简单的服务器端代码,但我将假设您已经拒绝了这一点,可能是因为您没有在服务器上运行代码的权限(尽管如果您对配置进行黑客攻击,您可能会这样做)。
配置中的一个解决方案可能是让它从默认根目录服务,但如果文件存在于适当的dir中,则重写url .
RewriteCond /web-1/a_file -f
RewriteRule ^(.*)$ /web/$1 但你必须为每个品牌的每一个文件都这么做。如果文件存储在dir中--与主机名相同,但对我来说太复杂了--您可能会更聪明。
说真的,服务器端代码是解决这个问题的方法.
奇怪的是,几周前,一位同事的情况几乎完全一样,他最终将其改写为PHP。每个站点都是数据库中的一行,一个页面为图像等提取更改的文本和urls,如果没有任何内容,则返回到默认设置。
说了那么多。正如您上面所说,使用链接可以解决问题2,可能是1的大部分,而且我不认为有任何方法可以绕过3。
https://stackoverflow.com/questions/9395443
复制相似问题