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