Risposte:
$host
è una variabile del modulo Core .
$ host
Questa variabile è uguale alla riga Host nell'intestazione della richiesta o nel nome del server che elabora la richiesta se l'intestazione Host non è disponibile.
Questa variabile può avere un valore diverso da $ http_host in questi casi: 1) quando l'intestazione di input dell'host è assente o ha un valore vuoto, $ host è uguale al valore della direttiva server_name; 2) quando il valore di Host contiene il numero di porta, $ host non include quel numero di porta. Il valore di $ host è sempre minuscolo da 0.8.17.
$http_host
è anche una variabile dello stesso modulo ma non la troverai con quel nome perché è definita genericamente come $http_HEADER
( ref ).
$ http_HEADER
Il valore dell'intestazione della richiesta HTTP HEADER quando convertito in minuscolo e con "trattini" convertiti in "caratteri di sottolineatura", ad esempio $ http_user_agent, $ http_referer ...;
riassumendo:
$http_host
è sempre uguale all'intestazione della HTTP_HOST
richiesta.$host
uguale $http_host
, minuscolo e senza il numero di porta (se presente), tranne quando HTTP_HOST
è assente o è un valore vuoto . In tal caso, è $host
uguale al valore della server_name
direttiva del server che ha elaborato la richiesta.server_name
direttive. se ti capita di avere una regex nella prima, questa diventa la $host
, e ogni sorta di cose brutte può accadere durante le regole di riscrittura.
$server_name
variabile equivale al server_name
valore della direttiva o al nome effettivo del server che è stato selezionato se c'erano più server_name
direttive?
$server_name
è sempre uguale al primo valore specificato con la direttiva server_name. Ad esempio, con server_name example.com one.example.com two.example.com;
, $server_name
sarà sempre "esempio.com", indipendentemente dall'host specificato dall'utente . In effetti, se non si dispone di un default_server
, l'host potrebbe essere qualcosa di completamente diverso (come esempio.org).
server_name
definito nel blocco server corrente. se hai piùserver_name
s, apparirà solo il primo.