问题描述
我在 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
它奏效了!!
(对不起,如果我在技术上说的不多!)