Debian 上的 Apache2 VirtualHost 无法正常工作

Debian 上的 Apache2 VirtualHost 无法正常工作

我在 Apache2 配置方面遇到了一些问题。我已经尝试在网上查找文档(Apache 网站、Debian 网站、serverfault 等),但没有什么帮助。

我尝试了不同的配置,但我当前的配置如下(/etc/apache2/站点可用/默认):

<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName mysite.dev
    ServerAlias mysite.dev
    DocumentRoot /var/www/mysite.dev/httpdocs/
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin [email protected]
    ServerName livesite.com
    ServerAlias www.livesite.com
    DocumentRoot /var/www/livesite.com/httpdocs/
    <Directory /var/www/livesite.com/httpdocs/>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride All
            Order allow,deny
            allow from all
    </Directory>
    ErrorLog ${APACHE_LOG_DIR}/error.log
    LogLevel warn
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

mysite.dev 只是我的客户端计算机上的 hosts 文件中的一个条目,而 livesite.com 是一个实际的 DNS 记录,它将解析为与 mysite.dev 的 hosts 文件中设置的 IP 相同的 IP。

问题是,当我尝试在浏览器中输入 mysite.dev 时,它会自动转到 livesite.com。

我尝试使用不同的 /etc/apache2/sites-enabled/ 文件(/etc/apache2/sites-enabled/mysite.dev 、 /etc/apache2/sites-enabled/livesite.com ) - 当然还有实际的 sites-available 相关文件,但结果相同。我尝试查看 error.log 和 access.log,但什么也没看到。

我的httpd.conf包含:

AccessFileName .htaccess

而且我没有 /etc/apache2/conf.d/virtual.conf 文件。

任何帮助都将不胜感激 - 如果我没有提供足够的信息,请告诉我,我会尽力提供所有必要的信息。

谢谢

答案1

在您的主机文件中尝试将 mysite.dev 设置为 127.0.0.1 而不是 PC 的 IP,并确保 mysite.dev 是 apache 中定义的第一个虚拟主机,希望这能解决您的问题

答案2

这只是一个猜测,但 httpd.conf 中的 Include 语句是否类似于:Include /etc/apache/sites-enabled/*.conf

如果是这种情况,请将 /etc/apache2/sites-enabled/mysite.dev 重命名为 /etc/apache2/sites-enabled/mysite.dev.conf,看看是否有帮助。

或者,您是否在任何地方都有“NameVirtualHost *:80”语句?我更喜欢将其粘贴在基于 Debian 的 Apache 安装上的 httpd.conf 或 ports.conf 中。

答案3

尝试改变

<VirtualHost *:80>

<VirtualHost mysite.dev:80>

<VirtualHost livesite.com:80>

我认为两个*:80虚拟主机对于网络服务器来说是一个不明确的配置。

答案4

感谢@law 和@tristan625 的回答。

我的问题是 Firefox 做了一些愚蠢的事情 - 当我尝试使用 chrome 的最新配置(全部在 httpd.conf 中)时它就可以正常工作(并且 FF 也可以正常工作,只要我重新启动它)。

这个愚蠢的问题浪费了我生命中的几个小时!

相关内容