我有特殊要求。我使用evhost和lighttpd,一切正常,除了这个:
$HTTP["host"] =~ "^[^.]+\.[^.]+$" {
evhost.path-pattern = vhosts_dir + "/customers/%2.%1/public/"
evhost.path-pattern = vhosts_dir + "/customershops/%2.%1/public/"
evhost.path-pattern = vhosts_dir + "/company/%2.%1/public/"
}
所以我想让我的模式上面的目录“动态”。或者实际上只需查看三个目录,然后使用正确的vhost目录。
祝你好运
Rebel先生
答案 0 :(得分:0)
mod_evhost必须能够从提交的主机名的部分中找出一个文档根目录。它无法猜测三个选项,也不能确定哪个选项存在(特别是如果不经意间有多个选项出现这种情况)。
您必须在主机名中提供mod_evhost足够的信息才能明确选择路径,否则您必须在文件系统中至少进行一级重定向。
选项1:
evhost.path-pattern = vhosts_dir + "/%2.%1/public/"这会丢失您想要捕获的所有客户/商店/公司信息,但实际上它使mod_evhost可以正常工作。
选项2:您可以根据需要拆分目录,和一个目录,其中包含指向这些目录的链接。 FS具有可见结构,mod_evhost只需要猜测重定向到结构中的链接的名称。
directory_containing_links/ foo.bar -> ./customers/foo.bar/public/ foo.baz -> ./customershops/foo.baz/public/ foo.qux -> ./company/foo.qux/public/ quux.bar -> ./customershops/quux.bar/public/ quux.baz -> ./customers/quux.baz/public/ (and so on, with one link per site) directory_containing_sites/ company/foo.qux/public/(web site here) customers/foo.bar/public/(web site here) customers/quux.baz/public/(web site here) customershops/foo.baz/public/(web site here) customershops/quux.bar/public/(web site here)然后你的evhost模式是
evhost.path-pattern = directory_containing_links + "/%2.%1/"请注意,directory_containing_links和directory_containing_sites可以是同一目录。