PHP 包含 apache 动态虚拟主机的路径


PHP include path for apache dynamic virtual hosts

我将我的 xampp 配置为将C:/www/的子文件夹动态地作为*.dev上的虚拟主机提供服务,以便 project-name.dev 将 C:/www/project-name/作为 DocumentRoot。我为此使用 VirtualDocumentRoot 指令。现在我希望每个虚拟主机都有自己的php包含路径,如C:/include/project-name/。如何动态完成此操作?我知道我可以在每个文档根目录中使用 .htaccess 文件,但我希望能够在 C:/www/ 中创建一个新文件夹并开始使用它,而无需任何其他工作(是的,我很懒(。

你可以做的是在你的指令中将所有请求定向到一个php文件,该文件将通过set_include_path设置路径,你将传入虚拟主机名,php将做剩下的事情,不是说这将起作用,但会让你接近。

.htaccess

RewriteCond %{HTTP_HOST} ^(.+).example.com(.+)%
RewriteRule ^(.*).example.com(.*)% redirector.php?sub=$1&file=$2 [L,QSA]

重定向器.php

<? 
    set_include_path("/path/to/folder/$_GET[sub]"); 
    require_once("/path/to/other/folder/$_GET[sub]/$_GET[file]");
?>