解决错误端口 Apache VirtualHost

解决错误端口 Apache VirtualHost

我已设置了 2 个不同的端口,每个端口上都有子域。例如:端口 8080 -> a.example.com 和端口 8081 -> b.example.com。但是当我尝试打开 a.example.com:8081 时,浏览器会加载 b.example.com:8081 网页(但 URL 不会更改为 b.example.com:8081),反之亦然。如何重定向到正确的端口/子域,如果我们打开 a.example.com:8081,它会自动重定向到 a.example.com:8080 或者可能重定向到 b.example.com:8081?

我正在使用 Apache 2.4 和我的 vshost:

<VirtualHost *:8080>
    ServerName a.example.com
    DocumentRoot D:/xampp/htdocs/a
</VirtualHost>

<VirtualHost *:8081>
    ServerName b.example.com
    DocumentRoot D:/xampp/htdocs/b
</VirtualHost>

答案1

由于 Apache 没有匹配该端口上的命名主机,因此它使用默认主机,即从配置文件中读取的第一个主机(这就是为什么您会看到名为 00_default 等的配置文件 - 数字部分强制排序)

对于您的用例,您可以做的是在每个端口上指定一个具有“错误”名称的命名主机,该端口的任何请求都会将重定向发送到正确的名称和端口组合。

相关内容