• [^] # Re: URL rewriting

    Posté par . En réponse au message Comment faire une redirection avec htaccess ?. Évalué à 2.

    Oui, ou alors je m'exprime mal.

    Je voulais juste insister sur ce que fait précisément le module d'url rewriting :

    il reçoit une adresse du genre /articles/lire/14, et la transforme en adresse de la forme index.php&module=articles&action=lire&id=14, et non l'inverse.

    Par exemple, quelque part dans le code HTML de ton site (ou d'un autre site), tu vas avoir un lien du genre :

    <a href="/articles/lire/14">Lire l'article</a>

    Lorsque le serveur apache va recevoir une requête de la forme /articles/lister, il ne sait pas l'interpréter telle quelle, il demande à mod_rewrite de l'interpréter. Celui-ci lui renvoie une url de la forme index.php&module=articles&action=lister.

    Comme ça, ton script PHP est capable de l'interpréter, à l'aide de $_GET. Exemple :

    <?php

    $module = $_GET['module']; // "articles"
    $action = $_GET['action']; // "lister"

    include ("/".$module."/".$action.".php"); // "articles/lister.php"

    ?>

    Attention, ce script ne sert qu'à illustrer mon propos, il ne faut pas l'utiliser tel quel, car il n'est pas du tout sécurisé (pas de vérification du contenu des variables, donc risque d'inclure n'importe quoi)