了解一下根目錄和虛擬目錄的關(guān)系: 安裝過apache之后打開httpd.conf文件會(huì)發(fā)現(xiàn)DocumentRoot默認(rèn)設(shè)置的應(yīng)該是apache安裝目錄中的htdocs文件夾,。然后你的網(wǎng)頁就可以放大這個(gè)htdocs文件夾中測(cè)試,,例你在里面放了一個(gè)1.php,,可以輸入http://127.0.0.1/1.php進(jìn)行測(cè)試,。這個(gè)DocumentRoot后面的路徑就是apache的根目錄,。有時(shí)候我們不想將自己的網(wǎng)站放到這里,例如我想要放到F:/MyPHP中來運(yùn)行,,那么就可以修改DocumentRoot為F:/MyPHP,,然后將那個(gè)1.php放入F:/MyPHP文件夾,同樣使用http://127.0.0.1/1.php可以正常訪問,。 虛擬目錄是什么,?顧名思義只是一個(gè)虛擬的目錄,和真實(shí)目錄是有差別的,。先來看看使用真實(shí)目錄訪問,,我們?cè)趧偛诺腇:/MyPHP中建立一個(gè)文件夾Test,然后在里面放入2.php,,這個(gè)時(shí)候就可以通過http://127.0.0.1/Test/2.php訪問,。但是有些時(shí)候你可能建立的文件夾和想要輸入的訪問地址有一個(gè)映射關(guān)系,而不是直接輸入Test文件夾名,,這樣做的原因有很多其中就有一個(gè)是安全問題,,因?yàn)槟菢觿e人就會(huì)知道你的根目錄的文件夾。具體點(diǎn),,你在Test文件夾中放置了2.php,,但是想要通過http://127.0.0.1/cmj/2.php訪問2.php而不是通過http://127.0.0.1/Test/2.php來訪問怎么辦呢,?這個(gè)時(shí)候我們就需要虛擬目錄了,很明顯沒有cmj這個(gè)文件夾,,但是又能夠像訪問一個(gè)正式的目錄一樣來訪問,,就需要一種映射關(guān)系。怎么做呢,?在httpd.conf中添加:
Alias /cmj 'F:/MyPHP/Test/' <Directory 'F:/MyPHP/Test'> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> 解釋一下什么意思,,最主要是前面一個(gè)句Alias /cmj 'F:/MyPHP/Test/',它的意思就是我通過在更目錄訪問所用ip后添加/cmj可以訪問F:/MyPHP/Test/中的東西,。后面的主要是設(shè)置權(quán)限問題,,這里不再贅余。
簡單的說,打開httpd.conf 在最后加入如下內(nèi)容:
<VirtualHost 127.0.0.2:80>
DocumentRoot d:/AppServ/www2 ServerName 127.0.0.2:80 < /VirtualHost> <Directory 'd:/AppServ/www2'> Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all </Directory>
'd:/AppServ/www2' 為你的站點(diǎn)存放目錄:重啟apache2以后,,你的虛擬主機(jī)就配置好了,,以后就可以通過127.0.0.2,和127.0.0.3進(jìn)入不同的站點(diǎn)了。
下面為詳細(xì)說明分析:
在我們安裝APACHE的時(shí)候一般默認(rèn)的apache的配置是只有一個(gè)網(wǎng)站,,這樣切換起來很不方便,。其實(shí)這個(gè)問題很好解決,就是把本機(jī)的apache配置成為虛擬服務(wù)器,。但是,,網(wǎng)上大多數(shù)教程的是教用 apache如何配置基于域名的虛擬主機(jī)的,而在本機(jī)調(diào)試網(wǎng)站的時(shí)候,,一般都是用本地ip(127.0.0.1 或 localhost)直接訪問,,沒有用到域名。所以得把a(bǔ)pache配置成為基于ip地址的虛擬主機(jī),。
首先,,我們都知道,所有以127打頭的ip地址都應(yīng)該指向本機(jī),并不只有127.0.0.1,,這點(diǎn)大家可以試試,。
這樣一來,也就是說本機(jī)有足夠多的ip地址供你來開設(shè)虛擬主機(jī)了,。
廢話少說,,進(jìn)入正式的配置工作,下面是apache的httpd.conf里相關(guān)配置部分( httpd.conf 位于 Apache2.2\conf ):
1,、Listen部分,,必須直接指定端口,不指定ip地址,,配置應(yīng)寫為: Listen 80 2,、不用像基于域名的虛擬主機(jī)那樣寫“NameVirtualHost”。
3、虛擬主機(jī)配置段:在httpd.conf 最后加上
<VirtualHost 127.0.0.2:80> DocumentRoot d:/AppServ/www2 ServerName 127.0.0.2:80 < /VirtualHost>
<VirtualHost 127.0.0.3:80>
DocumentRoot d:/AppServ/www3 ServerName 127.0.0.3:80 </V irtualHost>...
4,、然后相應(yīng)的配置好各個(gè)目錄屬性,,下面是一個(gè)目錄屬性的典型配置:
<Directory 'd:/AppServ/www2'> Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all </Directory>
<Directory 'd:/AppServ/www3'>
Options Indexes FollowSymLinks Multiviews AllowOverride All Order Allow,Deny Allow from all </Directory>
重啟apache2以后,你的虛擬主機(jī)就配置好了,,以后就可以通過127.0.0.1和127.0.0.2,127.0.0.3進(jìn)入不同的站點(diǎn)了
|
|