Dans le développement Web, la redirection signifie généralement qu'un ancien lien sera automatiquement redirigé vers un nouveau lien, afin que les utilisateurs puissent visiter la nouvelle URL sans mettre à jour leurs favoris ou leurs liens. Les redirections sont importantes car elles aident un site Web à maintenir sa convivialité et son classement dans les moteurs de recherche.
Dans le développement PHP, la redirection peut être réalisée à l'aide de la fonction header. Cependant, nous rencontrons souvent le problème que le nouveau lien est différent de l’ancien lien après redirection. Cet article fournira quelques solutions de contournement afin que les liens restent intacts après les redirections.
1. Utiliser des chemins absolus
En fait, la raison pour laquelle le nouveau lien ne correspond pas à l'ancien lien après la redirection est que des chemins relatifs sont utilisés lors de la redirection. Un chemin relatif est simplement un chemin relatif au fichier ou répertoire actuel, donc si un chemin relatif est utilisé sur différents chemins ou différents liens, cela entraînera une incompatibilité.
L'une des solutions consiste à utiliser des chemins absolus. Un chemin absolu spécifie le chemin complet du lien et ne dépend pas du chemin ou de l'emplacement de la page actuelle. En PHP, la redirection et la conservation du lien peuvent être réalisées avec le code suivant :
header("Location: https://www.example.com/new-page.php"); exit();
Dans cet exemple, nous faisons du nouveau lien une URL complète qui ne dépend pas du chemin de la page courante. De cette façon, quel que soit le lien à partir duquel l’utilisateur accède à cette page, le lien redirigé restera le même.
2. Utiliser les paramètres d'URL
Une autre façon de conserver le lien inchangé consiste à utiliser les paramètres d'URL. Les paramètres d'URL sont un moyen de transmettre des données en ajoutant des informations à l'URL. En PHP, vous pouvez utiliser les variables $_GET ou $_REQUEST pour obtenir les paramètres d'URL.
Par exemple, supposons que notre site Web dispose d'un formulaire de recherche et qu'une fois que les utilisateurs ont saisi des mots-clés, ils accèdent à la page de résultats de recherche. Afin de mettre en œuvre la redirection et de conserver les mots-clés recherchés par l'utilisateur, nous pouvons ajouter un paramètre d'URL au lien redirigé comme suit :
$search_keywords = $_POST['search_keywords']; header("Location: https://www.example.com/search.php?keywords=$search_keywords"); exit();
Dans cet exemple, nous récupérons les mots-clés que l'utilisateur a saisis dans le formulaire de recherche, et ajoutons au lien en tant que paramètre d'URL. Lorsque les utilisateurs accèdent à la page des résultats de recherche, ils conservent les mots-clés qu'ils ont saisis précédemment et voient les résultats liés à cette recherche.
3. Utilisez SESSION
La dernière méthode consiste à utiliser session (SESSION). Les sessions sont une méthode d'enregistrement des informations utilisateur qui permet de maintenir l'état entre différentes pages ou demandes. En PHP, vous pouvez utiliser la variable $_SESSION pour créer, lire et stocker des données de session.
Par exemple, supposons que notre site Web demande aux utilisateurs de se connecter avant de pouvoir accéder à certaines pages. Afin d'implémenter la redirection et de garder l'utilisateur connecté, nous pouvons créer une session avant de rediriger comme suit :
session_start(); $_SESSION['user_id'] = $user_id; header("Location: https://www.example.com/member-dashboard.php"); exit();
Dans cet exemple, nous créons une session en utilisant la fonction session_start() et stockons l'ID utilisateur dans la variable $ _SESSION. Lorsque les utilisateurs sont redirigés vers la page du tableau de bord des membres, ils resteront connectés et pourront accéder aux pages protégées.
Résumé
Les redirections sont un concept important dans le développement Web qui peut aider un site Web à maintenir sa convivialité et son classement dans les moteurs de recherche. Si vous rencontrez le problème de non-concordance de lien après redirection dans le développement PHP, vous pouvez le résoudre en utilisant des chemins absolus, des paramètres d'URL ou des sessions. Ces méthodes garantissent que les liens restent intacts après la redirection et vous aident à optimiser votre site Web et votre expérience utilisateur.
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!