0

我正在使用 Virtualhosts 和一个本地包罗万象的域 TLD,我需要 3 个用例同时工作,但到目前为止,我一次只能让两个用例工作。

我需要三个不同的测试域才能访问它们各自的文档根目录。

  1. 案例 1: test1.dev --> /path/to/www/SomeFolderName (使用它自己的唯一文件夹名称和虚拟主机文件的覆盖)

  2. 案例 2: *.dev --> /path/to/www/%0 (包括 .dev 的完整 url,所以 test2.dev 指向 /path/to/www/test2.dev )

  3. 案例 3: *.dev --> /path/to/www/%1 (不包括.dev 的完整 url,因此 test3.dev 指向 /path/to/www/test3 )

因此,对于像 test2.dev 或 test3.dev 这样的任何域,我需要两种通配符情况, VirtualDocumentRoot "/path/www/%0"如果它存在或VirtualDocumentRoot "/share/www/%1"存在则使用它。

现在,案例 2 或案例 3 的工作取决于首先加载的内容,但不能同时加载。我怎样才能让 1 捕获所有域只选择现有的文档根目录?

4

2 回答 2

0

您可以尝试对所有目录使用一个文档根目录,并让 mod_rewrite 检查文件夹和/或文件是否存在(使用RewriteCondwith-f-das CondPattern)并重写URL,以便检索正确的文件。这将适用于通配符域,并且对于何时使用哪个文件夹具有非常灵活的规则。

于 2013-04-22T09:42:52.563 回答
0

并不真正支持让 Apache 根据目录是否实际存在来更改文档根目录。我认为您将有更好的运气标准化文档根,以便它们都是并在必要时/share/www/testX.dev创建符号链接。您甚至可以从自定义 404 处理程序创建符号链接。/share/www/testX.dev/share/www/testX

于 2013-04-21T17:58:14.960 回答