2010-07-14 9 views
7

Apache mod_rewrite: me spiegare% {HTTP_HOST} soprattutto quando si utilizzano domini addonApache mod_rewrite: mi spiega% {HTTP_HOST} soprattutto quando si utilizzano domini addon

Situazione (directory tree) su un server Apache con domini addon:

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/) 

Diciamo che nel file "addon-domain-1.com/.htaccess" ho qualche regola utilizzando% {} HTTP_HOST come:

RewriteCond %{HTTP_HOST} ^something$ 

fa %{HTTP_HOST} valuta il dominio dell'url attualmente richiesto sul server ???

Quindi, se chiedere:

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

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

http://addon-domain-1.com (senza barra finale)

%{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"? 

E quando si chiede:

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

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

risposta

4

È praticamente li indovinato tutto a posto! L'ultimo sarebbe;

main-domain.com 
3

%{HTTP_*} restituisce il HTTP con il nome dato dopo il prefisso indicato. In HTTP 1.1, l'host a cui si accede è indicato nell'intestazione Host, quindi sì.

Problemi correlati