Bonjour, Je debute dans le domaine de la réécriture d'URL, et comme tout débutant qui se respecte, j'ai une toute petite question. Je veux faire de l'URL Rewriting basique j'ai par exemple une page: http://www.example.com/mapage.php?section=12 que je voudrais transformer en : http://www.example.com/mot-compose/mapage.html Je me heurte dans ce cas a un petit probleme. En effet la page est bien redirigé de façon transparente si j'ecris: Code: RewriteEngine on RewriteRule ^mot/mapage\.html$ /mapage.php?section=12 [L] En revanche si j'ecrit la chose suivant, j'obtient une belle erreur 404: Code: RewriteEngine on RewriteRule ^mot-compose/mapage\.html$ /mapage.php?section=12 [L] De meme si j'ecrit quelque chose du genre (bien sur en imaginant que ma-page.php existe): Code: RewriteEngine on RewriteRule ^mot/mapage\.html$ /ma-page.php?section=12 [L] J'en ai conclu apres divers test que cela provenait de l'utilisation des "-" pour les mots composés. Quelqu'un a t il une idée du pourquoi de cette erreur? Comment la contourner tout en sachant que c'est vital que je puisse utiliser les tirets dans mes URLs? Merci d'avance pour votre aide.
Si tu n'as pas besoin de récupérer ce qui se trouve avant mapage, tu peux faire ca : Code: RewriteEngine on RewriteRule /mapage\.html$ /ma-page.php?section=12 [L] tout ce qui se termine par /mapage.html est réécrit en ma-page.php?section=12
Bonsoir, Je te remercie pour ta réponse, mais malheureusement, cela ne fonctionne pas. En effet, la réécriture ne marche que si je tape: http://www.example.com/mapage.html si je tape n'importe quel dossier virtuel avant le nom de la page en utilisant la technique que tu m'as donné cela ne fonctionne pas et je retrouve mon amie, la page 404. :? Une autre idée peut être? Merci d'avance.
et avec un regex ? Code: RewriteEngine on RewriteRule ^([^/]*)/mapage\.html$ /mapage.php?section=12 [L]
Super ca marche, j'ai simplement une dernière petite question à ce sujet, comment faire si a la place d'écrire Code: ^([^/]*)/mapage\.html$ /mapage.php?section=12 [L] je voulais ecrire Code: ^([^/]*)/ma-page\.html$ /mapage.php?section=12 [L] Dans ce cas existe t il un regex me permettant d'utiliser les tiret? Merci.