为什么 Ubuntu 14.04 上的 Apache 虚拟主机不起作用?

为什么 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

答案1

自 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

答案2

我忘记添加主机了/etc/hosts

127.0.0.1   localhost
127.0.0.1   bow.loc

我以为 apache 会自动完成此操作。

答案3

好吧,我已经尝试了所有提供的解决方案……但遗憾的是,没有任何效果!唉,我编辑了

    /etc/hosts

进入

    127.0.1.1 example.com test.com

并且成功了!!

(如果我没有讲太多技术方面的内容请见谅!)

答案4

Options FollowSymLinks MultiViews

需要字符“+”:+FollowSymLinks +Multiviews

Order allow,deny
Allow from all

现在 = 要求所有已授予

相关内容