XAMPP 默认虚拟主机

Posted

技术标签:

【中文标题】XAMPP 默认虚拟主机【英文标题】:XAMPP Default Virtual Host 【发布时间】:2017-01-26 04:15:18 【问题描述】:

我有一个 VPS,我已经在其中安装了 XAMPP,并配置了所有安全性。我启用了虚拟主机。我有一个db.example.com,它将直接在网络上打开phpMyAdmin

httpd-vhosts.conf中的条目如下:

<VirtualHost *:80>
    ServerAdmin admin@example.com
    DocumentRoot "/opt/lampp/phpmyadmin"
    ServerName db.example.com
    ServerAlias www.db.example.com
    ErrorLog "logs/db.example.com-error_log"
    CustomLog "logs/db.example.com-access_log" common
        <Directory "/opt/lampp/phpmyadmin">
                Options Indexes FollowSymLinks ExecCGI Includes
                AllowOverride All
                Require all granted
        </Directory>
</VirtualHost>

假设 1.2.3.4 是我的 IP,例如 example.com。为了访问 db.example.com (1.2.3.4),我将在我的本地 /etc/hosts 文件中添加条目。

我的httpd-vhsots.conf 中还有其他子域的其他条目,它们运行良好。需要注意的是,db.example.comvhosts 条目是文件 httpd-vhsost.conf

中的first

这就是问题所在:

当我直接在浏览器中打开 IP 1.2.3.4 时,phpMyAdmin 打开,这实际上不应该发生。如何避免这种情况?我不知道为什么会这样。

PS:我在 /etc/hosts 中删除了 db.example.com 的本地条目

【问题讨论】:

【参考方案1】:

更改vhsots 条目的顺序将解决此问题。如果您直接通过 IP 地址访问服务器,第一个将作为默认条目。

因此,将vhost 放在您想要在浏览器中点击 IP 时显示的第一个位置。

【讨论】:

【参考方案2】:

你可以改变:

<VirtualHost *:80>

到:

<VirtualHost db.example.com:80>

当此处指定服务器名称而不是“*”时,此虚拟主机配置不会捕获 IP 地址或除此之外的任何其他名称。

【讨论】:

虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review @VihariPiratla 这不是解决方案的链接。这是 Apache 配置文件的一行。 db.example.com 只是示例性的服务器名称。 对不起,我可能标记错了。但请考虑扩大您的答案。它解决了什么问题,检查的意义何在?等等

以上是关于XAMPP 默认虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章

如何从虚拟机访问由 XAMPP 创建的虚拟主机?

在 xampp 上设置虚拟主机

MAC 上的 XAMPP - 将目录和虚拟主机更改为其他卷

在Xampp Windows 10中创建虚拟主机

在 Xampp Windows 10 中创建虚拟主机

Windows 7 上的 XAMPP 1.7.4 默认为启动页面