我正在使用虚拟主机和本地搜索域名TLD,我需要3个用例同时工作,但到目前为止,我一次只能让两个人工作
我需要三个不同的测试域才能访问各自的文档根目录。
案例1: test1.dev - > / path / to / www / SomeFolderName(使用它自己的唯一文件夹名称和虚拟主机文件覆盖)
案例2: * .dev - > / path / to / www /%0(包含.dev的完整网址,因此test2.dev指向/path/to/www/test2.dev)
案例3: * .dev - > / path / to / www /%1(完整网址不包括 .dev,因此test3.dev指向/ path / to / www / test3)
因此,对于任何域(如test2.dev或test3.dev),我需要两个通配符情况,如果存在,则使用VirtualDocumentRoot "/path/www/%0"
;如果存在,则使用VirtualDocumentRoot "/share/www/%1"
。
现在,案例2或案例3的工作取决于首先加载的内容,但不是同时加载两者。 如何让1个捕获所有域只选择现有的文档根?
答案 0 :(得分:0)
基于目录是否实际存在,Apache并不真正支持更改文档根目录。我认为您可以更好地标准化文档根目录,以便它们全部/share/www/testX.dev
并在必要时创建从/share/www/testX.dev
到/share/www/testX
的符号链接。您甚至可以从自定义404处理程序创建符号链接。
答案 1 :(得分:0)
您可以尝试为所有目录使用一个文档根目录,并让mod_rewrite检查是否存在文件夹和/或文件(使用-f
-d
或CondPattern
作为{{ {1}})和RewriteCond
网址,以便检索正确的文件。这适用于通配符域,并且在使用哪个文件夹时具有非常灵活的规则。