Apache 多站點 Virtual Host 設定

2011-02-09

咕狗了許久

結果發現Apache文件裡就有寫了
我需要的是 多個不同的網址 可以連到同一個IP的不同目錄上
Name-based Virtual Host Support
目前是Apache 2.2的

在 /etc/httpd/conf.d/ 目錄中
建立一個新的檔案 檔名隨意 副檔名必須是.conf
(我是設定vhost.conf)
將以下的碼寫進去

或是

直接在 /etc/httpd/conf/httpd.conf 檔案最後面加上以下的碼

NameVirtualHost *:80


	ServerName www.domain.tld
	ServerAlias domain.tld *.domain.tld
	DocumentRoot /www/domain



	ServerName www.otherdomain.tld
	DocumentRoot /www/otherdomain

ServerName 當然就是網址
ServerAlias 其他網址也可以連到同一個目錄
DocumentRoot 目錄的位置

加完記得重新啟動Apache
( /etc/init.d/httpd restart )

如果啟動的過程中有[warn]說 什麼has no VirtualHost
可以在 /etc/httpd/conf/httpd.conf 裡面找找看
有沒有一行是
NameVirtualHost *:80
將這行註解起來 再重新啟動一次

參考資料:
http://httpd.apache.org/docs/current/vhosts/name-based.html
http://linux.vbird.org/linux_server/0360apache.php
http://freebsd.lab.mlc.edu.tw/apache/VirtualHost.shtml