Maison  >  Article  >  développement back-end  >  Comment capturer des segments d'URL spécifiques pour les redirections 301 sur les serveurs Windows/IIS avec PHP ?

Comment capturer des segments d'URL spécifiques pour les redirections 301 sur les serveurs Windows/IIS avec PHP ?

DDD
DDDoriginal
2024-10-30 01:16:28441parcourir

How to Capture Specific URL Segments for 301 Redirects on Windows/IIS Servers with PHP?

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!

Déclaration:
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