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

Vic*_*sky 24 server virtualhost apache2 apache2.4 14.04

我在 Ubuntu 14.04 上安装了 Apache 2.4,并且按http://localhost/地址运行正常。但是当我尝试添加一个新的虚拟主机时,例如http://bow.loc并重新启动 apache,新地址http://bow.lochttp://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>
Run Code Online (Sandbox Code Playgroud)

我怎样才能得到我的网站http://bow.loc

小智 30

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

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

mv /etc/apache2/sites-available/example.com /etc/apache2/sites-available/example.com.conf
Run Code Online (Sandbox Code Playgroud)

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

a2ensite example.com.conf
Run Code Online (Sandbox Code Playgroud)

并重新加载Apache:

service apache2 reload
Run Code Online (Sandbox Code Playgroud)


Vic*_*sky 18

我忘了添加主机/etc/hosts

127.0.0.1   localhost
127.0.0.1   bow.loc
Run Code Online (Sandbox Code Playgroud)

我认为 apache 会自动完成。