我一直在尝试在本地开发环境中设置子域。dev.localhost
我使用的是 Ubuntu 11.10 和 Apache2。到目前为止,我已经编辑了主机文件以包含行127.0.0.1 dev.localhost
。我创建了一个名为的文件,axis
如下/etc/apache2/sites-available
所示:
<VirtualHost *:80>
DocumentRoot /var/www/Axis/trunk
ServerName dev.localhost
ServerAlias *.localhost
<Directory /var/www/Axis/trunk/>
Options Indexes FollowSymLinks MultiViews +Includes
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
然后,我使用 启用了该站点sudo a2ensite axis
。我遇到了没有主机名的错误,并将该行添加ServerName localhost
到我的default
文件中sites-available
。我还遇到了与有关的错误NameVirtualHost
,我通过NameVirtualHost *:80
在 中添加httpd.conf
并在 中将其注释掉来解决了这个问题ports.conf
。
现在,当我导航到 时,dev.localhost
我得到的网页与导航到 时得到的网页相同localhost
。换句话说,和都localhost
指向dev.localhost
,/var/www
但我想dev.localhost
指向/var/www/Axis/trunk
。
知道我哪里做错了吗?谢谢
编辑:输出自apache2ctl -S
ulimit: 88: error setting limit (Operation not permitted)
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server localhost (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost localhost (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost dev.localhost (/etc/apache2/sites-enabled/axis:1)
Syntax OK
答案1
您需要设置您的/etc/hosts
或C:\Windows\system32\drivers\etc\hosts
(作为管理员)以反映“子域”。因此,请将其添加127.0.0.1 dev.localhost
到任一文件(取决于您的平台)。
但是,就域名解析而言,“localhost”本身可能有些特殊,因为它可能无法用作域。因此,您可以改为输入诸如mylan.local
服务器名称和dev.mylan.local
子域之类的内容。(基本上,您可以在此处使用任何您想要的内容)
最后,不要忘记重新加载 Apache,apache2ctl restart
因为它需要重新加载其配置。