$_SERVER['HTTP_HOST'] contient le numéro de port trop =/
Je ne sais pas c'est peut-être un bug.
J'ai 2 virutalhosts sur mon serveur.
virtualhost1.com
virtualhost2.com
si j'ouvre virtualhost1.com avec le port 80 (virtualhost1.com:80)
$_SERVER['HTTP_HOST']='virtualhost1.com';
mais si j'ouvre virtualhost2.com:80
$_SERVER['HTTP_HOST']='virtualhost2.com:80'; //NOTE: with port number
Puis-je savoir pourquoi?
Je suggère de poster votre VirtualHost définitions.
Et je suggère rtfm php.net/manual/en/reserved.variables.server.php
Et je suggère rtfm php.net/manual/en/reserved.variables.server.php
OriginalL'auteur dynamic | 2010-12-21
Vous devez vous connecter pour publier un commentaire.
La valeur de
$_SERVER['HTTP_HOST']
est pris directement à partir de laHost:
- tête de requête HTTP. Il semble que la demande du client est de le remplir de cette façon.Je suggère d'utiliser
$_SERVER['SERVER_NAME']
plutôt que sa valeur sera définie à partir de votre hôte virtuel config. Cependant, comme Flimm les notes ci-dessous, de même que la fiabilité deSERVER_NAME
peut encore être dépend de la configuration du serveur (découvrez cette réponse pour plus d'infos à ce sujet).$_SERVER['SERVER_NAME']
ne pouvez pas toujours faire confiance. Voir cette questionDroit, Flimm. J'ai intégré votre point dans la réponse.
OriginalL'auteur webbiedave
Fonction suivante retourne toujours vrai hôte (l'utilisateur a tapé hôte), sans port et c'est presque fiable:
return strstr($_SERVER['HTTP_HOST'], ':', true);
OriginalL'auteur MSS