URL REWRITING insérer données dans le nouveau nom

Eléphant du PHP | 331 Messages

20 sept. 2007, 19:51

Bonjour,

J'ai un fichier qui affiche les données depuis une BD en utilisant le id de la catégorie.

page.php?id=2

J'aimerais pouvoir passer une requête pour inclure le nom de la catégorie dans l'url est possible?

Voici le contenue de mon fichier .htaccess:

Code : Tout sélectionner

# Le serveur doit suivre les liens symboliques : Options +FollowSymlinks # Activation du module de réécriture d'URL : RewriteEngine on #-------------------------------------------------- # Règles de réécriture d'URL : #-------------------------------------------------- RewriteRule ^index\.html$ index.php [L] # Article sans numéro de page : RewriteRule ^page-([0-9]+)\.html$ page.php?id=$1 [L]

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 sept. 2007, 19:56

et ?
Comme nous ne fournissons pas de code tout cuit, je pense que tu as du essayer quelque chose ? ;)

Le principe de l'url rewriting étant de réécrire l'url (d'où son nom), c'est à toi de mettre le nom de la catégorie dans l'url, pas à l'url rewriting.

Le principe de cet url rewriting est de partir d'une url (page-1.html) et d'en extraire les données intéressantes pour arriver à contruire l'url comprise par PHP (page.php?id=1)

Si tu veux remplacer page-1.html par page-1-voiture.html, c'est pas à l'url rewriting de le faire.
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 331 Messages

20 sept. 2007, 20:43

Ok, donc je n'a qu'a ajouter une varible dans mon url.

page.php?id=1&nom=Fruits

Ensuite, url rewriting peut me donner:

page-1-Fruits.html

Celà est simple.

Mais est-ce possible de me débarasser de "page pour obtenir:

fruits.html

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 sept. 2007, 21:20

Le principe de l'url rewriting, c'est de partir d'une url du type page-2-toto.html et de la réécrire pour obtenir page.php?id=2&name=toto, pas l'inverse ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Eléphant du PHP | 331 Messages

24 sept. 2007, 20:33

J'ai lu mal sur cela le url rewriting et si j'ai bien compris les url que j'aurai mis une réécriture seront vu par le moteur de recherche comme une page .html .

C'est automatique ou si je dois changer l'affichage de mes url dans mon site.

Mon menu de navigation contient des liens en php avec des variables.

Même si dans le navigateur j'affiche

http://www.lagrandeloi.com/page-5.html pour http://www.lagrandeloi.com/page.php?id=5

Les liens dans le site ne s'affiche pas avec les conditions de réécriture.

Donc, si je clic sur un liens le navigateur ouvre la page en php avec les variable.

Alors, google qui suit et enregistre les liens contenu dans une page va enregistrer les page .php avec les variable?

Peux-tu m'éclairer svp?

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

24 sept. 2007, 20:42

Je me demande si le ^ en début de règle ne gène pas la réécriture :-k
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer