使用通配符 dns/apache/mod-rewrite,我想要实现以下目标:
客户端名称.clients.company.com -> /home/company.com/clients/客户端名称
我尝试过重写规则,例如:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^([^\.]+)\.clients\.company\.com
RewriteCond /home/clients\.company\.com/%1 -d
RewriteRule ^(.*) /%1/$1 [L]
它们似乎都不能与 *.clients.company.com 模型一起使用 - 我收到了无限循环错误。
答案1
看起来你基本上是在尝试设置动态配置的海量虚拟主机更简单的配置是使用mod_vhost_alias。%1
替换将包含主机名的第一部分,因此以下内容将适当地设置文档根目录。
UseCanonicalName Off
VirtualDocumentRoot /home/company.com/clients/%1
(实际上您可以避免使用对大部分路径进行硬编码/home/%3-/%2/%1
。)