子域的 VirtualHost 还将流量重新路由到主机域

VirtualHost for subdomain also re-routes traffic to host domain

我正在努力做到这一点,当有人在 sub.example.com 访问我的网站时,它会将他们发送到与访问 example.com 的人不同的文件夹。很简单,是吗?这是我用来执行此操作的代码:

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs/sub"
    ServerName sub.example.com
    ServerAlias sub.example.com
</VirtualHost>

我将我的域的 DNS 设置为通配符,以便任何子域仍然指向我的服务器。

问题是,现在每当有人访问 example.comsub.example.com 或任何子域时,它都会显示来自 /htdocs/sub

的内容

我只想在访问 sub.example.com 时显示 /htdocs/sub,我该怎么做?

从我读到的内容来看,我的处决似乎是正确的,但也许我错过了导致这种情况发生的一件事?我已经重新安装 xampp 没有用

我的主要 httpd.conf 有这一行 ServerName example.com:80 如果这有帮助

我最终找到了解决方案,对于以后遇到同样问题的任何人,这就是我所做的:

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot "C:/xampp/htdocs/"
</VirtualHost>


<VirtualHost *:80>
    ServerName sub.example.com
    DocumentRoot "C:/xampp/htdocs/sub"
</VirtualHost>

我假设基本上为了让 VirtualHost 区分 sub.example.comexample.com,然后必须先为 example.com 定义一个 VirtualHost,然后才能配置任何子域