在 Apache 中按文件夹名称映射虚拟主机

在 Apache 中按文件夹名称映射虚拟主机

我正在尝试向我的 Apache 添加虚拟主机,但我尝试以一种特定的方式进行,但我不知道是否可行。

我现在的情况是这样的:

<VirtualHost *:80>
    ServerName til.local
    DocumentRoot "C:/xampp/htdocs/til"
    <Directory "C:/xampp/htdocs/til">
        Options FollowSymLinks
        AllowOverride All

        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>

其中“til”是文件夹的名称和“域名”的名称。

我想设置一次,这样以后就不需要再查看它了,即使在向 htdocs 文件夹添加新文件夹时也是如此。我将在短时间内创建许多不同的域,所以我不想每次添加虚拟主机时都转到 apache 设置。是否可以设置一些东西,让 htdocs 中的所有文件夹自动成为这样的域名?所以如果我将 abc 作为文件夹,它会使用“abc.local”和文件夹“htdocs/abc”?

答案1

您应该看看 mod_vhost_alias 文档。

http://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html

配置可能看起来像这样:

<VirtualHost *:80>
    ServerName *
    VirtualDocumentRoot "C:/xampp/htdocs/%0"
    <DirectoryMatch "C:/xampp/htdocs/*">
        Options FollowSymLinks
        AllowOverride All

        Order allow,deny
        Allow from all
    </DirectoryMatch>
</VirtualHost>

请注意,%0 代表完整的 ServerName(在您的情况下为 til.local)。如果您阅读文档,您可能会弄清楚如何按您想要的方式进行设置。

相关内容