Dans le développement de sites Web, la fonction de redirection est souvent utilisée pour réaliser des sauts de page. En PHP, la redirection peut être réalisée en utilisant la fonction header, par exemple :
header('Location: http://www.example.com'); exit;
Cependant, dans le développement réel, nous rencontrons parfois quelques problèmes, dont l'un est que lors de l'utilisation de la fonction header pour la redirection, le navigateur IE Le serveur signale un erreur. Cet article décrira la solution dans cette situation.
1. Phénomène d'erreur du navigateur IE
Lors de l'utilisation de la fonction d'en-tête pour la redirection, certains navigateurs IE afficheront une boîte de dialogue d'erreur
En effet, lorsque la valeur de Location est définie sur un chemin relatif, le navigateur IE est le serveur ; l'interprétera comme un chemin de système de fichiers au lieu d'un chemin réseau, provoquant une erreur.
2. Solution
Lorsque cela se produit, nous pouvons avoir les solutions suivantes :
1. Utiliser un chemin absolu
Définissez la valeur de Location sur un chemin absolu, par exemple :
header('Location: http://www.example.com/index.php'); exit;
Cela peut éviter une mauvaise interprétation du navigateur IE. chemins relatifs.
2. Utiliser la mise en mémoire tampon de sortie
Utilisez la fonction ob_start pour activer la mise en mémoire tampon de sortie avant d'utiliser la fonction d'en-tête, par exemple :
ob_start(); header('Location: /index.php'); ob_end_flush(); exit;
Cela garantit que la fonction d'en-tête est exécutée avant la sortie et que la valeur de Location est définie sur un relatif. chemin.
3. Modifiez les paramètres d'IE
Définissez "Activer le mode protégé" dans l'option "Non-sécurité" du navigateur IE sur la même valeur ou décochez-la pour résoudre ce problème. Cependant, cette méthode n’est pas très pratique puisque la plupart des utilisateurs ne modifieront pas les paramètres d’IE.
4. Résumé
Lors de l'utilisation de la fonction d'en-tête pour la redirection, le navigateur IE rencontre une erreur, qui peut être provoquée par le chemin relatif interprété par IE comme un chemin de système de fichiers incorrect. Afin d'éviter que cette situation ne se produise, nous pouvons utiliser des chemins absolus, une mise en mémoire tampon de sortie ou modifier les paramètres d'IE pour résoudre le problème.
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!