Url Rewriting

Statut
N'est pas ouverte pour d'autres réponses.
1er
OP
null

null

ose();
Rafu a dit:
http://www.graphiks.net/php-tutoriel/php/url_rewriting.html ? :oops:
Oui mais ça me dit pas comment faire :p
 

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...
 
J

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 ? ^^
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 ^^), je pense que tu pourrai le trouver tout seul maintenant, mais bon je suis lancé ^^

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 ^^
 
1er
OP
null

null

ose();
Perso j'ai fais comme ça :

RewriteEngine on
RewriteRule ^(.*)/(.*)$ /photobank/test.php?g=$1&f=$2 [L]
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 :

<img src="site.com/photobank/SoireeXXL/null.jpg">
rien ne s'affiche car l'url rewriting est "re-exécuté" :oops:
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut