Récupération de l'URL de la page actuelle sur les serveurs Windows/IIS pour les redirections PHP
Dans les scénarios où les installations WordPress sont migrées vers de nouveaux dossiers sous Windows/ Les serveurs IIS, mettant en place des redirections 301 en PHP, rencontrent des difficultés pour capturer le segment spécifique de l'URL. Cet article explore le problème et propose une solution pour obtenir la partie d'URL souhaitée.
Le problème : chaînes vides et valeurs tronquées
Solutions fréquemment suggérées, telles que l'utilisation de $ _SERVER["REQUEST_URI"], génère des chaînes vides sur les serveurs IIS. De même, $_SERVER["PHP_SELF"] renvoie uniquement "index.php", en omettant le segment crucial "/post-title/" de l'URL.
La solution : exploiter $_SERVER['PATH_INFO ']
Les serveurs IIS fournissent une variable alternative, $_SERVER['PATH_INFO'], qui résout ce problème efficacement. Cette variable récupère le chemin de la ressource demandée par rapport au répertoire racine installé du serveur.
Dans l'exemple fourni, où les URL suivent le format "/OLD_FOLDER/index.php/post-title/", $_SERVER['PATH_INFO '] donnerait "/post-title/". Cette valeur peut ensuite être utilisée pour construire les chemins de redirection souhaités.
Conclusion
En exploitant $_SERVER['PATH_INFO'] dans les environnements IIS, les développeurs peuvent capturer avec précision les Segments d'URL requis pour les redirections 301, garantissant des migrations de sites Web transparentes et une redirection appropriée du trafic des anciennes URL vers les nouvelles.
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!