Maison > développement back-end > tutoriel php > Comment puis-je implémenter la réécriture d'URL en PHP à l'aide de « .htaccess » ou des fonctions intégrées de PHP ?

Comment puis-je implémenter la réécriture d'URL en PHP à l'aide de « .htaccess » ou des fonctions intégrées de PHP ?

Barbara Streisand
Libérer: 2024-12-20 03:33:09
original
982 Les gens l'ont consulté

How Can I Implement URL Rewriting in PHP Using `.htaccess` or PHP's Built-in Functions?

Réécriture d'URL en PHP : Créer des URL conviviales

Introduction

La réécriture d'URL est une technique utilisée pour transformer un complexe, URL potentiellement longue dans un format plus convivial et plus lisible. Dans cet article, nous explorerons comment implémenter la réécriture d'URL en PHP en utilisant deux approches différentes : la route .htaccess et la route PHP.

La route .htaccess avec mod_rewrite

Cette méthode consiste à ajouter un fichier .htaccess au répertoire racine et à configurer le serveur Web Apache pour utiliser mod_rewrite. Voici un exemple de RewriteRule :

RewriteEngine on
RewriteRule ^/?Some-text-goes-here/([0-9]+)$ /picture.php?id=
Copier après la connexion

Cette règle indique au serveur Web que toute URL correspondant au modèle "Some-text-goes-here/" doit être réécrit en interne en "picture.php?id=" sans être visible par l'utilisateur final.

La route PHP

Une approche alternative consiste à utiliser PHP pour gérer la réécriture d'URL. Cela implique de mettre en place une "FallbackResource" dans .htaccess :

FallbackResource /index.php
Copier après la connexion

Cette configuration indique au serveur de diriger toutes les requêtes vers le fichier index.php si le fichier demandé n'existe pas. Dans index.php, vous pouvez implémenter votre propre logique d'analyse d'URL :

$path = ltrim($_SERVER['REQUEST_URI'], '/');
$elements = explode('/', $path);
if (empty($elements[0])) {
    ShowHomepage();
} else {
    switch (array_shift($elements)) {
        case 'Some-text-goes-here':
            ShowPicture($elements);
            break;
        case 'more':
            ...
        default:
            header('HTTP/1.1 404 Not Found');
            Show404Error();
    }
}
Copier après la connexion

Cette technique permet une plus grande flexibilité dans l'analyse d'URL et la prise en charge des URL conditionnelles et basées sur une base de données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal