Fonction PHP pour déterminer le protocole d'URL du site
Pour déterminer le protocole URL du site (HTTP vs HTTPS), vous pouvez utiliser la fonction PHP suivante :
<code class="php">function siteURL() { if (isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on' || $_SERVER['HTTPS'] == 1) || isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https') { $protocol = 'https://'; } else { $protocol = 'http://'; } $domainName = $_SERVER['HTTP_HOST'].'/'; return $protocol.$domainName; } define( 'SITE_URL', siteURL() );</code>
Comparaison avec la fonction simplifiée
La fonction simplifiée que vous avez suggérée :
<code class="php">function siteURL() { $protocol = 'http://'; $domainName = $_SERVER['HTTP_HOST'].'/'; return $protocol.$domainName; } define( 'SITE_URL', siteURL() );</code>
n'est pas aussi complet que la première fonction. Sous HTTPS, le serveur peut convertir automatiquement l'URL en HTTPS, mais il est toujours recommandé de vérifier la compatibilité ascendante du protocole et de travailler avec des sites susceptibles de ne pas gérer correctement HTTPS.
Conversion du serveur vers HTTPS
Bien que le serveur puisse convertir automatiquement l'URL en HTTPS, cela n'est pas garanti. La vérification du protocole garantit un comportement cohérent dans différentes configurations et scénarios, y compris le développement local et l'hébergement virtuel.
Importance de la vérification du protocole
La vérification du protocole vous permet d'établir correctement le l'URL du site dans divers contextes, tels que :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!