在 Apache httpd.conf 文件中使用动态路径

在 Apache httpd.conf 文件中使用动态路径

我知道如何在 apache httpd.conf 文件中设置多个主机,但是否可以使其动态化。

如果我将文件夹放在这样的目录中。

c:\
   development\
               websites\
                        SiteA
                        SiteB
                        SiteC

我可以像这样编写我的 httpd.conf 文件吗?

<VirtualHost *:80>

ServerName *.example.com
DocumentRoot "c:/development/Websites/%1/"

</VirtualHost>

%1如果用户访问 sitea.example.com 等,则其中或其他变量标记为 SiteA,或者如果 siteA 必须是完全合格的域名,那就没问题。

答案1

很简单:

ADocumentRoot必须是服务器上的单个目录,并且不允许使用通配符。

可能能够通过使用RewriteRule中提到的语句来获得你想要的行为这个答案,但 YMMV。

答案2

至少在 2.4 中你可以:

<Macro virty $name>
<VirtualHost $name:80>

ServerName $name.example.com
DocumentRoot "c:/development/Websites/$name/"

</VirtualHost>
</Macro>

Use virty SiteA
Use virty SiteB
Use virty SiteC

相关内容