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
999 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!

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal