Salut à tous,

Je suis en train de me prendre la tête sur l'URL Rewriting ! Smiley fache
Ca m'avait pas l'air très compliqué au début mais là je sèche...

Je cherche à modifier mes url php vers des url sans extension.

Exemple = www.exemple.com/blog/article.php?id=1&titre=montitre vers www.exemple.com/blog/montitre

J'ai trouvé sur des forums comment faire l'inverse (html vers php, je vois pas l'intéret) mais jamais le contraire... Et du coup, mes essais personnels ne fonctionnent pas...

J'ai notamment testé
RewriteEngine On
RewriteRule ^blog/article\.php?id=([0-9]+)&titre=([a-zA-Z0-9-]*)$ blog/$2 [L]


Mais la règle n'est pas validée... Je craque ! Je teste sur htaccess[.]madewithlove[.]be

Merci de votre aide
Salut,

Je pense que tu inverses ton URL à réécrire et ton URL réécrite.

En fait c'est /blog/montitre qui est réécrite en /blog/article.php?titre=montitre

Essaie ça :
RewriteEngine On
RewriteRule ^blog/([a-zA-Z0-9-]*)$ /blog/article\.php?titre=$1 [L]


A toi ensuite d'aménager ton pattern d'URL au mieux...

PS : merci pour l'outil de test, je ne connaissais pas et vais le bookmarker Smiley cligne
Modifié par MatthieuR (14 Mar 2016 - 23:10)
J'ai une petite coquille : j'ai laissé l'antislash devant le .php. La règle de réécriture est donc bien celle-ci :
RewriteEngine On
RewriteRule ^blog/([a-zA-Z0-9-]+)$ /blog/article.php?titre=$1 [L]

Pour compléter, si tu veux faire passer ton id dans le nouveau pattern, tu pourrais avoir ça :
RewriteEngine On
RewriteRule ^blog/([0-9]+)-([a-zA-Z0-9-]+)$ /blog/article.php?id=$1&titre=$2 [L]

Tu as donc une URL de ce type :
http://www.mondomaine.com/blog/10-montitre

Modifié par MatthieuR (14 Mar 2016 - 23:16)