Page 1 sur 1

Comment faire de la réécriture d'URL en php

Posté : 01 oct. 2008, 17:14
par uspy62
Bonjour, à tous j'aimerais utiliser la réécriture d'URL pour mon site mais je ne sais pas si c'est possible compte tenu de la manière dont je procède :
je vais m'expliquer un peu plus, j'ai créé une page bateaux.php dans laquelle il y a la liste des bateaux, sur cette page on peut cliquer sur le détails d'un bateau pour en savoir plus, est-il possible que l'url change en fonction du bateau sélectionné ?

Merci d'avance pour vos conseils.

Posté : 01 oct. 2008, 17:19
par jojolapine
J'ai pas trop compris ton histoire...
Mais avec de l'url rewriting, tu peux très bien avoir l'url bateaux.html qui pointe vers bateaux.php et l'url bateaux-xx.html qui pointe vers bateaux.php?id=xx&action=detail...
Alors soit j'ai rien compris à ta question, soit il faudrait plus de détails ;)

Posté : 01 oct. 2008, 17:50
par uspy62
Merci pour ta réponse, je vais essayer de mieux m'expliquer.
J'ai une page dynamique "bateaux.php" qui affiche la liste des bateaux donc quand je suis sur cette page j'ai l'url http://www.monsite.fr/bateaux.php
Dans cette liste lorsque je clique sur le détail d'un bateaux, j'aimerais avoir une url du style :
http://www.monsite.fr/bateaux.php/plus- ... -du-monde/
Or soitj'ai l'url http://www.monsite.fr/bateaux.php soit j'ai l'url http://www.monsite.fr/bateaux.php?nom=p ... -du-monde/, mais je ne veux pas voir nom= dans mon url.
Est-ce possible ?

Posté : 01 oct. 2008, 18:14
par jojolapine
Bien sûr que c'est possible,
Il faut que tu apprennes l'url rewriting à l'aide des fichier .htaccess (un lien au hasard: http://www.webrankinfo.com/actualites/2 ... riting.htm )
Et ensuite tu écrit une règle qui dit:
"les urls du type index.php/unnomavecdeslettresetdestiretsetunslashalafin/ doivent être changée en index.php?nom=unnomavecdeslettresetdestiretsetunslashalafin/"
Ce n'est pas très très compliqué ;)
Fait des essais et reviens nous voir si tu as des questions ;)

Posté : 01 oct. 2008, 18:17
par uspy62
Merci pour ton aide, je test et reviens si besoin.
Merci encore.

Posté : 06 oct. 2008, 14:15
par uspy62
J'ai réussi à faire ce que je voulais, merci bien.
Par contre j'essaye de faire quelque chose et je n'y arrive pas.
En fait toutes mes pages s'appellent bateaux.php, rivieres.php et dans mon url j'ai :
http://www.monsite.fr/bateaux.php
http://www.monsite.fr/rivieres.php

Et je voudrais avoir ceci :
http://www.monsite.fr/bateaux/
http://www.monsite.fr/rivieres/

Est-ce possible ?
Merci d'avance.

Posté : 06 oct. 2008, 19:43
par jojolapine
Euh ben oui c'est possible...
Reste à savoir ce que tu as essayé de faire ;)
et on pourra voir pourquoi ça n'a pas marché!

Posté : 06 oct. 2008, 20:44
par uspy62
Alors j'ai réussi à faire ceci :
# Reecriture des numeros de pages des bateaux:
RewriteRule ^bateaux/([0-9]+)$ /monsite/bateaux.php?page=$1 [L]

De cette manière l'url est comme ceci :
http://www.monsite.fr/bateaux/1/

Ensuite j'ai essayé lorsque j'ai des pages du type :
http://www.monsite.fr/bateaux.php
de les réécrire comme ceci :
http://www.monsite.fr/bateaux/

J'ai donc tenté de l'écrire comme ceci dans mon fichier htaccess :
# Reecriture des .php en /:
RewriteRule ^bateaux/$ /monsite/bateaux.php$1 [L]

Ceci fonctionne mais il faut le faire pour toutes les pages, y a t-il un moyen de faire en sorte que toutes les pages .php soient réécrites de cette manière ?

merci d'avance.