2010-07-14 78 views
7

Apache的mod_rewrite的時候給我解釋一下%{HTTP_HOST} expecially:與插件域Apache服務器上使用插件域Apache的mod_rewrite的:使用插件域

情況(目錄樹)當我解釋%{HTTP_HOST} expecially:

main-domain.com/ 
| 
|_ .htaccess (just an empty file, no rule in here) 
|_ index.html (shown when accessing http://main-domain.com) 
| 
|_ addon-domain-1.com/ 
| | 
| |_ .htaccess 
| |_ index.html (shown when accessing http://addon-domain-1.com or http://main-domain.com/addon-domain-1.com/) 
| 
|_ addon-domain-2.com/ 
    | 
    |_ .htaccess 
    |_ index.html (shown when accessing http://addon-domain-2.com or http://main-domain.com/addon-domain-2.com/) 

讓我們在 「addon-domain-1.com/.htaccess」 文件說我有使用%{HTTP_HOST}像一些規則:

RewriteCond %{HTTP_HOST} ^something$ 

%{HTTP_HOST}評估到服務器上當前請求的網址的域?

所以,如果要求:

http://addon-domain-1.com/

%{HTTP_HOST} will be "addon-domain-1.com"? 

http://addon-domain-1.com(不包括最後的斜槓)

%{HTTP_HOST} will still be "addon-domain-1.com"? 

http://www.addon-domain-1.com

%{HTTP_HOST} will still be "www.addon-domain-1.com"? 

,並要求當:

http://main-domain.com/addon-domain-1.com

%{HTTP_HOST} will be "main-domain.com"??? 
or "main-domain.com/addon-domain-1.com"??? 

回答

4

你幾乎猜到他們沒事!最後一個會是;

main-domain.com 
3

%{HTTP_*}評估爲HTTP標題,其後面顯示前綴後給出的名稱。在HTTP 1.1中,正在訪問的主機在Host標題中給出,所以是的。