根据文档https://help.ubuntu.com/10.04/serverguide/httpd.html我已经完成了以下操作,这几乎就是我在 Fedora 中一直在做的事情,但 Ubuntu 看起来不起作用。
a) DNS 到 IP
$ echo "127.0.0.1 a" > /etc/hosts
$ echo "127.0.0.1 b" > /etc/hosts
b)Apache 虚拟主机
$ ls
1 2 default default.backup default-ssl
$ cat 1
<VirtualHost *:80>
ServerName a
ServerAlias a
DocumentRoot /var/www/html/a/public
<Directory /var/www/html/a/public>
#AddDefaultCharset utf-8
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
$ cat 2
<VirtualHost *:80>
ServerName b
ServerAlias b
DocumentRoot /var/www/html/b/public
<Directory /var/www/html/b/public>
#AddDefaultCharset utf-8
DirectoryIndex index.php
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
c)加载到Apache并重新启动服务
$ a2ensite 1
$ a2ensite 2
$ a2dissite default
$ a2enmod rewrite
$ /etc/init.d/apache2 restart
d) 浏览新的 2 个主机
$ firefox http://a
不起作用它总是与http://a
或http://b
/var/www/html
我该如何修复它,以便它进入它自己的目录,例如:不http://a
进入?/var/www/html/a/public
/var/www/html
答案1
找出 Apache 正在做什么的一个好方法是运行
apachectl -S
这将告诉您所有已配置的虚拟主机及其定义位置。也许这会帮助您找到问题?