VirtualHost 不工作-总是显示默认值

VirtualHost 不工作-总是显示默认值

我已经尝试了好几个小时来完成这项工作。我正在尝试在我的 VPS 上使用 Apache 设置虚拟主机。

我的 sites-available 文件夹中有以下虚拟主机文件:

<VirtualHost *:80>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/domain.ie
    <Directory />
            Options FollowSymLinks
            AllowOverride None
    </Directory>
    <Directory /var/www/domain.ie>
            Options Indexes FollowSymLinks MultiViews
            AllowOverride None
            Order allow,deny
            allow from all
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
            AllowOverride None
            Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
            Order allow,deny
            Allow from all
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog ${APACHE_LOG_DIR}/access.log combined

Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>

我已经在虚拟主机上发出了 a2ensite domain.ie 命令。

我还发出了 restart 和 reload 命令。我还使用这两个命令停止并启动了 Apache 服务器,以查看 Apache 是否确实正在重新启动,结果确实如此。我还完全重新启动了 VPS 机箱。

文档根文件夹确实存在,但 apache 服务仍然提供默认的 apache 页面。我宁愿不禁用默认虚拟主机。

我这里是不是漏掉了一步?我是否应该在 /etc/hosts 中的 hosts 文件中添加一些内容?domain.ie 已被 apache 添加到那里: 127.0.0.1 localhost.localdomain localhost domain.ie

任何帮助都将不胜感激。

答案1

您需要块ServerName中的一个指令<VirtualHost>,以便 Apache 知道何时从该虚拟主机提供内容。

答案2

添加

NameVirtualHost *:80

你的 apache 配置也一样,你的文件看起来没有

</VirtualHost>

更多文档在这里: http://httpd.apache.org/docs/2.2/vhosts/name-based.html

答案3

当我在指令中DocumentRoot设置之前进行定义时,也遇到了这个问题。ServerName<VirtualHost ...>

相关内容