【问题标题】:XAMPP Default Virtual HostXAMPP 默认虚拟主机
【发布时间】: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 的本地条目

【问题讨论】:

    标签: apache xampp virtualhost


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      你可以改变:

      <VirtualHost *:80>
      

      到:

      <VirtualHost db.example.com:80>
      

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

      【讨论】:

      • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接答案可能会失效。 - From Review
      • @VihariPiratla 这不是解决方案的链接。这是 Apache 配置文件的一行。 db.example.com 只是示例性的服务器名称。
      • 对不起,我可能标记错了。但请考虑扩大您的答案。它解决了什么问题,检查的意义何在?等等
      猜你喜欢
      • 2011-07-22
      • 2021-02-10
      • 2015-09-24
      • 2013-03-24
      • 2016-04-29
      • 2019-09-12
      • 2020-12-17
      • 2019-06-11
      • 2011-04-26
      相关资源
      最近更新 更多