PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI : Comprendre les différences
Lors du développement d'applications PHP, il est crucial de comprendre la différence entre PHP_SELF, PATH_INFO , SCRIPT_NAME et REQUEST_URI. Ces variables de serveur fournissent des informations sur l'adresse du script actuel et peuvent être utiles pour la navigation et la réécriture d'URL.
PHP_SELF contient généralement l'URI complet du script actuel, y compris le nom du script et tout chemin. information. Cependant, il peut être différent de SCRIPT_NAME dans les cas où la requête est sous la forme de http://example.com/test.php/foo/bar.
PATH_INFO contient le chemin informations à la fin de l’URI de la demande. Cependant, il n'est renseigné que lorsque l'URI de la requête est sous la forme mentionnée ci-dessus.
SCRIPT_NAME représente le nom du script actuel, à l'exclusion de toute information de chemin. C'est généralement la même chose que PHP_SELF sauf s'il y a un / dans l'URI.
REQUEST_URI contient l'URI complet de la requête, y compris le chemin, la chaîne de requête et l'ancre. Il diffère de PHP_SELF et SCRIPT_NAME lorsqu'une chaîne de requête est présente ou lorsque la redirection côté serveur est utilisée.
Pour illustrer les différences, voici quelques exemples pratiques :
Exemple 1 :
http://example.com/test.php/foo/bar
Exemple 2 :
http://example.com/test.php?foo=bar
Exemple 3 :
http://example.com/test. php (avec redirection mod_rewrite)
Exemple 4 :
Page d'erreur personnalisée dans IIS :
http://example.com/test.php
En comprenant ces différences, vous pouvez utiliser efficacement la variable de serveur appropriée pour gérer la navigation, la réécriture d'URL et la gestion des erreurs dans votre PHP. candidatures.
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!