首先我們用記事本開啟httpd.conf文件,該文件在apache的目錄下,如: D:\AppServ\Apache2.2\conf,修改如下兩處:
(推薦學習:apache從入門到精通)
LoadModule vhost_alias_module modules/mod_vhost_alias.so //去掉前面的#,意思是启用apache的虚拟主机功能,第203行
Include conf/extra/httpd-vhosts.conf //去掉#的意思是从httpd-vhosts.conf这个文件导入虚拟主机配置
配置虛擬主機後,不能用localhost 訪問,只需要把httpd.conf檔案的ServerName localhost:80那行註解掉就可以了。
基於IP
1、假設伺服器有IP位址為192.168.1.10,使用ifconfig在同一個網路介面eth0上綁定3個IP:
[root@localhost root]# ifconfig eth0:1 192.168.1.11 [root@localhost root]# ifconfig eth0:2 192.168.1.12 [root@localhost root]# ifconfig eth0:3 192.168.1.13
2、修改hosts文件,新增三個網域與之一一對應:
192.168.1.11 www.test1.com 192.168.1.12 www.test2.com 192.168.1.13 www.test3.com
3、建立虛擬主機存放網頁的根目錄,如在/www目錄下建立test1、test2、 test3資料夾,其中分別存放1.html、2.html、3.html
/www/test1/1.html /www/test2/2.html /www/test3/3.html
4、在httpd.conf中將附加設定檔httpd-vhosts.conf包含進來,接著在httpd-vhosts. conf寫入如下設定:
<VirtualHost 192.168.1.11:80> ServerName www.test1.com DocumentRoot /www/test1/ <Directory "/www/test1"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost> <VirtualHost 192.168.1.12:80> ServerName www.test1.com DocumentRoot /www/test2/ <Directory "/www/test2"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost> <VirtualHost 192.168.1.13:80> ServerName www.test1.com DocumentRoot /www/test3/ <Directory "/www/test3"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow From All </Directory> </VirtualHost>
完成,現在測試下每個虛擬主機,分別造訪www.test1.com、www.test2.com、www.test3.com。
以上是apache是基於ip配置虛擬主機的詳細內容。更多資訊請關注PHP中文網其他相關文章!