Quelle est la différence entre les trois variables Nginx $host
, $http_host
et $server_name
?
J'ai une règle de réécriture où je ne suis pas sûr de laquelle je devrais utiliser :
location = /vb/showthread.php {
# /vb/showthread.php?50271-What-s-happening&p=846039
if ($arg_p) {
return 301 $scheme://$host/forum/index.php?posts/$arg_p/;
}
Je cherche une réponse qui ne se contente pas de dire 'utilisez la variable ____ dans votre règle de réécriture', mais qui explique également les différences théoriques entre elles.
0 votes
J'ai réalisé plus tard que je n'avais même pas besoin de spécifier
$scheme
et$host
...return 301 /forum/index.php?posts/$arg_p/;
fonctionne très bien.0 votes
La plupart des navigateurs fonctionnent avec des URL relatives dans les redirections, mais la norme (w3.org/Protocols/rfc2616/rfc2616-sec14.html) requiert une URL absolue dans l'en-tête
Location
.