Url Rewriting

Discussion dans 'Web, design' créé par null, 19 Mars 2005.

Statut de la discussion:
Fermée.
  1. Offline
    null ose();
    null, 19 Mars 2005
    #1
  2. Offline
    null ose();
    Oui mais ça me dit pas comment faire :p
    null, 19 Mars 2005
    #2
  3. Offline
    MbK_ Etudjant
    je cherche justement un bon site qui explique les url rewriting.

    Dans le genre site du zero mais il n'y est pas la...
    MbK_, 19 Mars 2005
    #3
  4. Online
    j0k3r_n0ir ex membre
    Ah faudrai que je fasse un article dessus ... si j'avais le temps.

    Comme vous l'avez vu l'url rewriting permet de ré-écrire les urls, super pratique pour le référencement !
    En fait c'est une directive qui se mets dans le fichier htaccess et qui permet d'afficher monsite.com/news-1-comme-c-est-magique.html dans votre navigateur mais d'envoyé l'url monsite.com/news.php?id=1 à votre serveur apache. Lui n'y vois que du feu, mais vous, vous avez une magnifique url digne d'une page html :)

    Alors comment faire ce fameux htaccess maintenant ? :p
    Et bien ce sont des regex (expressions régulières) qui permettent de faire ça a la volée. Mais vous pouvez aussi très bien mettre des "redirection" en dur de-dans.
    Je vous montre un exemple avec celui de mon site :
    Code:
    RewriteRule articles-(.*)-([0-9]+).html 				articles.php?id=$2 [L]
    Cette directive permet de faire comprendre cette page articles.php?id=6 en passant par celle là articles-mettre-a-jour-easyphp-6.html .

    On décortique la regex ...
    (.*) : représente tout le blabla de votre page (titre dela news, de l'article ...) ici : mettre-a-jour-easyphp
    ([0-9]+) : représente l'id de votre news/article ici : 6
    articles.php?id=$2 : En prennant $2 on récupere l'id, en fait on récupère la deuxieme valeur. Le première ($1) étant mettre-a-jour-easyphp, mais pour le serveur, on s'en fou de ça.
    [L] : Signifie qu'on a fini la ligne.

    Alors maintenant les redirections "en dur", c'est par exemple :
    Code:
    RewriteRule faire-une-recherche.html 					search.php [L]
    Alors on dit carément que l'url faire-une-recherche.html pointe cash sur la page search.php.

    Pour en revenir à ton truc null (wé quand c'pas tout mais bon :p), je pense que tu pourrai le trouver tout seul maintenant, mais bon je suis lancé :p

    www.site.com/galerie1/ vers www.site.com/?g=galerie1 :
    Code:
    RewriteRule galerie([0-9]+) 					?g=galerie$1 [L]
    www.site.com/galerie1/waw.jpg vers www.site.com/?g=galerie1&f=waw.jpg :
    Code:
    RewriteRule galerie([0-9]+)/(.*) 					?g=galerie$1&f=$2 [L]
    A tester parce que le / dans la regex je sais pas si il va aimé :/
    Mais bon ensuite tout est une question de regex, et là ... c'est un autre sujet mes chers amis :p

    © j0k :cool:
    Ps: C'pourrai être le début de mon article tiens :p
    j0k3r_n0ir, 20 Mars 2005
    #4
  5. Offline
    null ose();
    Perso j'ai fais comme ça :

    Donc quand je vais dans "site.com/photobank/SoireeXXL/null.jpg" ça va à "test.php?g=SoireeXXL&f=null.jpg" donc ce que je voulais.

    Le problème est quand je fais :

    rien ne s'affiche car l'url rewriting est "re-exécuté" :oops:
    null, 20 Mars 2005
    #5
Statut de la discussion:
Fermée.