Apache 2.4 VirtualDocumentRoot 和 www 别名同时存在

Apache 2.4 VirtualDocumentRoot 和 www 别名同时存在

这是我的虚拟主机文件:

UseCanonicalName关闭

<VirtualHost *:80>
    VirtualDocumentRoot /Users/username/Sites/%-2+
    ServerName test
    ServerAlias *.test
</VirtualHost>

我将其用于本地开发。在目录 ~/Sites 下,我拥有所有站点文件夹,例如:~/Sites/myblog。这个虚拟文档东西运行良好,除了 www 到非 www 的重定向。如果我在浏览器中输入:www.myblog.test,它会抛出错误“未找到”。我怎样才能让它同时作为 www.myblog.test 和 myblog.test 工作?

答案1

从您给出的例子来看,您需要:

VirtualDocumentRoot /Users/username/Sites/%-2

看一下https://httpd.apache.org/docs/2.2/mod/mod_vhost_alias.html,在“目录名称插值”下

-2  the penultimate part

而你的是:

-2+     the penultimate and all preceding parts

相关内容