相关疑难解决方法(0)

带有通配符VirtualDocumentRoot的VirtualHost

我正在尝试为我的虚拟主机创建一个回退.我的配置如下所示:

# Fetch all pre-defined hosts

Include "conf/extra/vhosts/*.conf"

# Fallback

NameVirtualHost *:80

<Directory "C:/LocalServer/usr">
    Options Indexes FollowSymLinks Includes
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>
<VirtualHost *:80>
    VirtualDocumentRoot "C:/LocalServer/usr/%-1/projects/%-2+/public/"
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这里的目标如下:如果我尝试访问http://test.lab/,我希望它自动获取以下目录:C:/LocalServer/usr/lab/projects/test/public/.

现在,我创建了文件夹和一个空索引文件(index.php).尽管如此,Apache仍然向我显示一个空的目录索引("索引").

不太清楚现在该做什么.尝试过一些东西,但似乎都没有.

有任何想法吗?

更新 - 6月1日

我现在使用此代码,基于第一个答案(嗯,唯一的答案):

<VirtualHost *:80>
    UseCanonicalName Off
    ServerAlias *.lab
    VirtualDocumentRoot "C:/LocalServer/%2/%1/public"
    <Directory "C:/LocalServer/%2/%1/public">
        Options Indexes FollowSymLinks Includes
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

我现在从Apache 获得Access forbidden错误.通常,当目录不存在时,通常会收到此错误?C:/LocalServer/lab/test/public确实存在,并且空目录index.php位于public目录中.

一般错误日志中的错误: …

xampp apache2 wildcard virtualhost directoryindex

12
推荐指数
1
解决办法
2万
查看次数

标签 统计

apache2 ×1

directoryindex ×1

virtualhost ×1

wildcard ×1

xampp ×1