Obtention de l'URL complète de la page actuelle sur les serveurs Windows/IIS
Vous avez rencontré un problème lors de la configuration des redirections 301 en PHP sur un Serveur Windows/IIS. Malgré l'utilisation de $_SERVER["REQUEST_URI"], les résultats attendus ne sont pas obtenus. Cet article vise à clarifier le problème et à proposer une solution.
Comprendre le problème
Sur les serveurs Apache, $_SERVER["REQUEST_URI"] contient généralement l'intégralité de l'URL. Toutefois, sur les serveurs Windows/IIS, cette variable peut ne pas fournir le résultat souhaité. En effet, IIS utilise un mécanisme de gestion des requêtes différent de celui d'Apache.
La solution : utiliser $_SERVER['PATH_INFO']
Pour les serveurs Windows/IIS, le La variable correcte à utiliser est $_SERVER['PATH_INFO']. Cette variable contient la partie de l'URL après le chemin de base du script. Dans votre cas, ce serait "/post-title/".
Exemple d'utilisation
Voici un exemple de la façon dont vous pouvez utiliser $_SERVER['PATH_INFO'] dans votre code PHP :
<code class="php">$currentURL = "http://" . $_SERVER['HTTP_HOST'] . $_SERVER['PATH_INFO'];</code>
Ce code attribuera l'URL complète, y compris le segment "/post-title/", à la variable $currentURL.
Conclusion
Bien que $_SERVER["REQUEST_URI"] soit couramment utilisé à cette fin, il peut ne pas fonctionner comme prévu sur les serveurs Windows/IIS. En utilisant $_SERVER['PATH_INFO'] à la place, vous pouvez récupérer avec précision l'URL complète de la page actuelle sur un serveur Windows/IIS.
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!