Maison >développement back-end >tutoriel php >Comment réécrire des URL en PHP : approche « .htaccess » vs PHP ?

Comment réécrire des URL en PHP : approche « .htaccess » vs PHP ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-29 12:30:14853parcourir

How to Rewrite URLs in PHP:  `.htaccess` vs. PHP Approach?

Réécriture d'URL avec PHP

La création d'URL conviviales est un aspect essentiel du développement Web. La réécriture d'URL implique de transformer des URL complexes et verbeuses en des URL plus concises et significatives.

Comment convertir une URL de 'picture.php?id=51' en 'picture.php/Some-text-goes -here/51'?

Il existe deux méthodes principales pour la réécriture d'URL dans PHP :

1. .htaccess avec mod_rewrite

Créez un fichier .htaccess dans le répertoire racine et ajoutez le code suivant :

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

Cela demande à Apache d'utiliser mod_rewrite et de réécrire les URL correspondant au modèle spécifié au format souhaité.

2. PHP

Dans le fichier .htaccess, ajoutez :

FallbackResource /index.php

Dans index.php, vous pouvez implémenter l'analyse et la réécriture d'URL en utilisant le code suivant :

$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();
    }
}

Cette approche permet plus de flexibilité et peut être utilisée pour implémenter des règles d'analyse d'URL complexes.

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