Maison > développement back-end > tutoriel php > Pourquoi $_SERVER[\'REQUEST_URI\'] ne fournit-il pas l'URL complète sur les serveurs Windows/IIS ?

Pourquoi $_SERVER[\'REQUEST_URI\'] ne fournit-il pas l'URL complète sur les serveurs Windows/IIS ?

Linda Hamilton
Libérer: 2024-11-02 16:16:29
original
919 Les gens l'ont consulté

Why Isn't $_SERVER[

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>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal