我在 Apache 上有一个 Web 应用程序,它允许用户将他们的域指向服务器。
现在我正在使用带有条目 VirtualDocumentRoot /www/hosts/%0/docs 的 Apache 的动态海量虚拟主机
所以 www.companydomain.com 它指向 /www/hosts/www.companydomain.com/docs
问题是当用户访问 companydomain.com 时,它将指向 /www/hosts/companydomain.com/docs
有没有一种简单的方法可以自动让 Apache 检查虚拟主机的目录是否存在,如果不存在,则查找带有“www”的主机名。在它面前?其他子域很好(即 abc.domain.com 应该指向一个 diff. 目录而不是 def.domain.com)但整个“www”问题对我来说是个谜。
我正在使用动态海量虚拟主机,因此服务器不必在每次注册应用程序后重新启动。只要不每次都重新启动apache,如果有不同的方式就可以了。
我怎样才能做到这一点?最糟糕的情况是,如果有办法重定向到服务器上的“默认”位置(如果找不到),我总是可以通过 PHP 或其他方式进行检查,但我觉得这有点被破解了,必须有一个更有效的方法。
提前致谢!
我想我会研究
-d directory
RewriteCond 的选项来测试该虚拟主机是否存在目录,如果不存在,则明确重定向到 www.example.com。这可以让人们在得到一个他们不期望的页面时不会感到震惊,并且它可以防止搜索引擎多次索引。modules/mappers/mod_vhost_alias.c 的第 458 行