Apache爲本地主機配置多個網站根目錄詳解

Author:KillerLegend

Date:2014.5.27php

From:http://blog.csdn.net/killerlegend/article/details/27195445html

------------------------------------------------------------------分割線-----------------------------------------------------------------------------web

在httpd.conf文件中,有以下配置(注:捨去httpd.conf文件的註釋內容)瀏覽器

[html]  view plain  copy
 
 print?
  1. Listen 80  
  2. ServerName localhost  
  3. <Directory />  
  4.     AllowOverride none  
  5.     Require all denied  
  6. </Directory>  
  7.   
  8.   
  9. DocumentRoot "E:"  
  10. <Directory "E:/Workshop/Apache">  
  11.     Options Indexes FollowSymLinks  
  12.     AllowOverride None  
  13.     Require all granted  
  14. </Directory>  



(測試以前最好清理一下瀏覽器緩存),那麼在瀏覽器中輸入http://localhost/Workshop/Apache/ 即可以訪問E:/Workshop/Apache下的全部文件,注意此處的根目錄是E:,可是上面的那個Directory設置了權限因此沒法訪問E盤下面的全部內容,若是將上面的那個Directoy更改成:


緩存

[html]  view plain  copy
 
 print?
  1. <Directory />  
  2.     Options Indexes FollowSymLinks  
  3.     AllowOverride None  
  4.     Require all granted  
  5. </Directory>  



那麼即可以從瀏覽器中訪問E盤的全部東西,當在瀏覽器中輸入localhost的時候,瀏覽器將會顯示E盤根目錄下的全部內容,而且能夠訪問。爲了安全,咱們一般不這麼作,所以常常的設置方法是下面這樣的配置:


安全

[html]  view plain  copy
 
 print?
  1. Listen 80  
  2. ServerName localhost  
  3. <Directory />  
  4.     AllowOverride none  
  5.     Require all denied  
  6. </Directory>  
  7.   
  8.   
  9. DocumentRoot "E:/Workshop/Apache"  
  10. <Directory "E:/Workshop/Apache">  
  11.     Options Indexes FollowSymLinks  
  12.     AllowOverride None  
  13.     Require all granted  
  14. </Directory>  



經過瀏覽器只容許訪問特定目錄,此處也就是E:/Workshop/Apache目錄下的全部內容。固然對於第二個Dir,能夠設置E:/Workshop/Apache下不一樣文件夾的訪問權限。


最後說一下虛擬主機的設置,請按照如下格式設置(放在httpd.conf文件末尾便可):


以下所示,須要首先設置監聽端口,而後是NameVirtualHost指定主機地址以及端口,接下來就是對VirtualHost進行設置了,其中包括SeverName也就是主機名以及文檔根目錄,注意對於本地開發時,將ServerName設置爲localhost或者127.0.0.1便可,其中的文檔根目錄與目錄設置同樣便可,或者你也能夠在文檔根目錄中爲不一樣的文件夾設置不一樣的訪問權限。其中的×號表明監聽全部訪問設置端口的虛擬主機。ide

[html]  view plain  copy
 
 print?
  1. Listen 81  
  2. NameVirtualHost *:81  
  3. <VirtualHost *:81>  
  4.     ServerName 127.0.0.1  
  5.     DocumentRoot "C:/Users/Administrator/php/webroot1"  
  6.     <Directory "C:/Users/Administrator/php/webroot1">  
  7.    Options Indexes FollowSymLinks  
  8.    AllowOverride None  
  9.    Require all granted  
  10. </Directory>  
  11. </VirtualHost>  
  12.   
  13.   
  14. Listen 82  
  15. NameVirtualHost ×:82  
  16. <VirtualHost *:82>  
  17.     ServerName 127.0.0.1  
  18.     DocumentRoot "C:/Users/Administrator/php/webroot2"  
  19.     <Directory "C:/Users/Administrator/php/webroot2">  
  20.    Options Indexes FollowSymLinks  
  21.    AllowOverride None  
  22.    Require all granted  
  23. </Directory>  
  24. </VirtualHost>  




這樣設置完畢後,從新啓動Apache,而後就能夠在地址欄中輸入localhost:81直接訪問webroot1路徑,localhost:82訪問webroot2路徑。post

相關文章
相關標籤/搜索