由于项目需要,我得在一个Apache2.2上动行两个应用,服务器只有一个IP。
按照apache手册和网上的一些文章,老不成功。以下是遇到的问题及解决办法。
需求说明:
1、apache安装在d:apache2下;
2、应用1的根目录为d:wwwrootaaa,对应的域名为 www.aaa.com
3、应用2的根目录为d:wwwrootbbb , 对应的域名为 www.bbb.com
4、服务器IP为 220.181.111.88
(配置前,请先在万网设置域名解析到该IP)
第一次配置方法如下:
1、打开 httpd.conf ,把463行的#去掉,即让 Include conf/extra/httpd-vhosts.conf 生效;
2、打开 httpd-vhosts.conf,即添加两个域名,并修改IP编辑,如下:
NameVirtualHost 220.181.111.88:80ServerAdmin [email protected]
DocumentRoot "D:/wwwroot/aaa"
ServerName aaa.com
ServerAlias www.aaa.com
ServerAdmin [email protected]
DocumentRoot "D:/wwwroot/bbb"
ServerName bbb.com
ServerAlias www.bbb.com
重启apache,报错提示:
The requested URL / was not found on this server.
靠,查error.log,居然说什么目录找不到,指向到什么htdocs去了……
这个问题,折腾了我三个晚上!!!
最后发现,不应该改IP,应该继续保留 * 就OK了!!如下:
NameVirtualHost *:80
ServerAdmin [email protected]
DocumentRoot "D:/wwwroot/aaa"
ServerName aaa.com
ServerAlias www.aaa.com
ServerAdmin [email protected]
DocumentRoot "D:/wwwroot/bbb"
ServerName bbb.com
ServerAlias www.bbb.com
这样就对了!我靠!
当然,你还会遇别名解析不对的问题,以及系统提示没有权限的问题,好办:
1、把 128 的#去掉,打开别名模块,LoadModule vhost_alias_module modules/mod_vhost_alias.so
2、把 192/193行前加#,放开权限就行。
声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。