標籤:
apache虛擬目錄配置執行個體
一、首先,開啟虛擬機器主機配置
在檔案httpd.conf中找到:
include conf/extra/httpd-vhosts.conf #開啟
二、對httpd-vhost.conf檔案進行配置
Java代碼
//監聽連接埠,NameVirtualHost <VirtualHost>標籤依靠這個哦
NameVirtualHost *:80
<VirtualHost *:80>
ServerName testa.com
DocumentRoot "/var/www/test.com"
<Directory "/var/www/test.com">
Options Indexes MultiViews FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
ErrorLog "/var/log/httpd/error_test.log"
CustomLog "/var/log/httpd/comm_test.log" common
</VirtualHost>
三、本地host中添加網域名稱 IP 對應關係(單IP多網域名稱時可用不同連接埠來完成)
httpd.conf是Apache的主要設定檔,但是針對每個目錄,apache還允許在它們各自的目錄下放置一個叫做.htacess的檔案,用於控制這個目錄的屬性。
可以利用Apache的rewrite模組配置apache URL重寫,rewrite規則會寫在.htaccess檔案裡。
但要使apache 能夠正常讀取.htaccess的內容,就必須對.htaccess所在目錄進行配置。
基於安全性考慮,根目錄的AllowOverride屬性一般都配置成 “None”,不允許任何Override ,即:
Java代碼
<Directory />
AllowOverride None
</Directory>
AllowOverride 設定為 None 時,.htaccess 檔案將被完全忽略。當此指令設定為All時,所有具有“.htaccess” 範圍的指令都允許出現在.htaccess 檔案中。
而對於 URL rewrite 來說,至少需要把目錄設定為:
Java代碼
<Directory /blogRoot/>
AllowOverride FileInfo
</Directory>
AllowOverride 參數就是指明Apache伺服器是否去找.htacess檔案作為設定檔,如果設定為none,那麼伺服器將忽略. htacess檔案,如果設定為 All,那麼所有在.htaccess檔案裡有的指令都將被重寫。對於AllowOverride,還可以對它指定如下一些能被重寫的指令類型.
1)、AuthConfig 允許使用所有的許可權指令,他們包括 AuthDBMGroupFile AuthDBMUserFile AuthGroupFile AuthName AuthTypeAuthUserFile 和 Require
2)、FileInfo 允許使用檔案控制類型的指令。它們包括 AddEncoding AddLanguage AddType DEfaultType ErrorDocument LanguagePriority
3)、Indexes 允許使用目錄控制類型的指令。它們包 括 AddDescription AddIcon AddIconByEncoding AddIconByType DefaultIcon DirectoryIndex FancyIndexing HeaderName IndexIgnore IndexOptions ReadmeName
4)、Limit 允許使用許可權控制指令。它們包括Allow Deny和Order
5)、Options 允許使用控制目錄特徵的指令.他們包括Options 和XBitHack
Options:
1)、All 准許以下除MultiViews以外所有功能
2)、MultiViews 允許多重內容被瀏覽,如果你的目錄下有一個叫做foo.txt的檔案,那麼你可以通過/foo來訪問到它,這對於一個多語言內容的網站比較有用
3)、Indexes 若該目錄下無index檔案,則准許顯示該目錄下的檔案以供選擇,禁止瀏覽目錄可以刪這項或“-Indexes”。
樣本:
Java代碼
<Directory />
Options -Indexes FollowSymLinks //或者寫為“Options FollowSymLinks”
AllowOverride None
Order deny,allow
Deny from all
</Directory>
4)、IncludesNOEXEC 准許SSI,但不可使用#exec和#include功能
5)、Includes 准許SSI
6)、FollowSymLinks 在該目錄中,伺服器將跟蹤符號連結。
注意,即使伺服器跟蹤符號連結,它也不會改變用來匹配不同地區的路徑名,如果在<Local>標記內設定,該選項會被忽略。
7)、SymLinksIfOwnerMatch 在該目錄中僅僅跟蹤本網站內的連結。
8)、ExecCGI 在該目錄下准許使用CGI
apache虛擬目錄配置執行個體