当前位置: 首页>>技术教程>>正文


server – 为什么 Ubuntu 14.04 上的 Apache 虚拟主机不工作?

, , , ,

问题描述

我在 Ubuntu 14.04 上安装了 Apache 2.4,它通过 http://localhost/ 地址运行良好。但是当我尝试添加一个新的虚拟主机,例如 http://bow.loc 并重新启动 apache 时,新地址在 http://bow.loc 上不可用,而在 http://localhost 上可用。

我的配置是:

<VirtualHost *:80>
    ServerName www.bow.loc
    ServerAlias bow.loc
    DocumentRoot /var/www/html/bow/web

    <Directory /var/www/html/bow>
        AllowOverride All
        Options FollowSymLinks MultiViews
        Order allow,deny
        Allow from all
        <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ /app.php [QSA,L]
        </IfModule>
    </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
</VirtualHost>

如何通过 http://bow.loc 获取我的网站?

最佳方案

从 Apache 2.4 开始,每个虚拟主机文件都应该有 .conf 扩展名。

您可以重命名每个虚拟主机文件以包含 .conf 扩展名:

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf

使用 a2ensite 命令添加虚拟主机:

a2ensite example.com.conf

并重新加载 Apache:

service apache2 reload

次佳方案

我忘了在 /etc/hosts 添加主机:

127.0.0.1   localhost
127.0.0.1   bow.loc

我以为apache会自动完成。

第三种方案

好吧,我一直在尝试提供的所有这些解决方案..但遗憾的是没有任何效果!唉,我编辑了

    /etc/hosts

进入

    127.0.1.1 example.com test.com

它奏效了!!

(对不起,如果我在技术上说的不多!)

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/12427.html,未经允许,请勿转载。