1. 目标:
在本机 实现访问不同域名 可以访问不同的目录。 即:访问a.com 进入 /var/www/a 目录下的程序,访问b.com 进入/var/www/b目录下的程序。
2.遇到的问题:
/etc/apache2 文件夹目录
mods-available 可用的模块 conf-available 可用的配置 sites-available 可用的域名/虚拟目录 ports.conf 接口文件
mods-enabled 启用的模块 conf-enabled 启用的配置 sites-enable 启用用的域名/虚拟目录 envvars apache2.conf 主配置
apache在ubuntu中的配置文件和Windos中的一个配置文件相比,比较分散,这是为了低耦合,配置其中一个站点时出错了不会影响到其他站点的运行。
apache2.conf 这是主配置文件,这个文件就像个大楼的框架,把外部分散的启用目录里配置文件汇聚在一起 。
道理都明白了,在sites-available中新建 a.conf b.conf 并在sites-enable 创建软链接
但访问所有的域名都会指向www根目录 。sites-enable只有一个配置文件时就没有问题。
3.解决问题困惑几日一直无果。终于在一个帖子中找到了答案。现在还不能完全理解具体的原理,先记录一下 留给以后翻翻。
把默认配置文件中 下面两行注释掉 就可以了。
ErrorLog ${APACHE_LOG_DIR}/error.log 更改为
#ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined更改为
#CustomLog ${APACHE_LOG_DIR}/access.log combined
参考:
http://forum.ubuntu.org.cn/viewtopic.php?t=341070