當年的筆記_apache配置虛擬主機

lltong發表於2013-06-24

下午需要,在網上找了一堆,沒找到合適的,翻出來自己當年的筆記,還是自己記的容易理解。

解決方案1:通過埠來區分

1>新增一個虛擬主機
1.在d盤下新建www目錄,如:d:/www。

2.修改httpd.conf中:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
去掉前面的#號,啟用虛擬主機

3.修改httpd-vhosts.conf檔案,在後面新增以下:
<VirtualHost 127.0.0.1:80>
    DocumentRoot "d:/www"
    DirectoryIndex index.html index.htm index.php
    <Directory />
    options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

4.在hosts檔案中新增ip和域名的對應關係
127.0.0.1       www.xxx.com

5.建議登出,在httpd.conf以下程式碼前面加#號
DocumentRoot "D:/wamp/apache/htdocs"

6.測試 http://www.xxx.com
如只需加一虛擬主機,可以不往下看了。


2>新增另一個虛擬主機
1.開發新的網站 d"/www2
2.修改httpd-vhosts.conf檔案,在後面新增以下:
<VirtualHost 127.0.0.1:81>
    DocumentRoot "d:/www"
    DirectoryIndex index.html index.htm index.php
    <Directory />
    options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>
3.配置httpd.conf檔案,讓apache監聽81埠,新增listen 81
4.在hosts檔案中新增
127.0.0.1       www.xxx2.com
5.測試  http://www.xxx2.com:81 //需指定埠號


解決方案2:通過ServerName段來區分不同的域名

1.開發新的站點 d:/www1  d:/www2

2.修改httpd.conf中:
# Virtual hosts
#Include conf/extra/httpd-vhosts.conf
去掉前面的#號,啟用虛擬主機

3.在httpd-vhosts.conf檔案中新增以下程式碼
<VirtualHost *:80>
    DocumentRoot "d:/www"
    #這裡指定域名
    ServerName www.xxx.com
    DirectoryIndex index.html index.htm index.php
    <Directory />
    options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>


<VirtualHost *:80>
    DocumentRoot "d:/www2"
    #這裡指定域名
    ServerName www.xxx2.com
    DirectoryIndex index.html index.htm index.php
    <Directory />
    options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from all
    </Directory>
</VirtualHost>

4.重啟apache,測試
http://www.xxx.com
http://www.xxx2.com
方案1剛試了可行,方案2有點小問題,沒達到自己的要求。

大家有更好的建議也分享下。


相關文章