[Réglé]problème rewritting slashs

WRInaute discret
Salut,

Après de nombreux essais en vain, je m'en remet à vous :?

jaimerai qu'une page dossier/chainedecaracteres soit rewrittée en dossier/page?id=chainedecaracteres

Voici ce que j'ai mis dans le .htaccess à l'intérieur du répertoire "dossier/" :

Code:
Options +FollowSymlinks
RewriteEngine on

RewriteRule ^(.*)/$ page.php?id=$1

>> ca marche pour mondomaine.com/dossier/chainedecaracteres/ mais pas pour mondomaine.com/dossier/chainedecaracteres
(sans slash à la fin).

merci aidez-moi :eek:
 
WRInaute discret
merci mais j'avais deja essayé ça, mais j'ai quand même retesté.

Avec ce que tu me dit, la bonne page s'affiche mais il ne récupère pas le paramètre id

Pourquoi ? :(
 
WRInaute occasionnel
Désolé, mais je vois pas pourquoi la règle de nikoshr ne fonctionne pas, puisque c'est la même que la tienne, qui marche déjà pour la version avec '/' final, et que lui l'a modifiée pour que le / soit optionnel (grace au '?').

Ca devrait marcher comme il te l'a indiqué.

eventuellement, essaye comme ça
Code:
RewriteEngine on
RewriteRule ^([^/]+)/?$ page.php?id=$1 [L]
 
WRInaute discret
re, merci de bien vouloir m'aider :)

Donc vos 2 solutions m'affichent bien la bonne page, mais ca ne recupere pas bien l'id en fait.
>> echo $_GET['id']; affiche "page.php" :?

je comprends pas pourquoi...
 
WRInaute occasionnel
Ca vient du fait qu'Apache relance une interprétation de l'URL après réécriture quand l'UR est pratiqué dans un .htaccess. En gros, la première passe donne
chainedecaracteres --> page.php?id=chainedecaracteres
Apache relance avec page.php comme URL, qui matche l'expression régulière et donc
page.php --> page.php?id= page.php

Essaie
Code:
RewriteCond %{REQUEST_URI} !page\.php
RewriteRule ^(.*)/?$ page.php?id=$1
 
Discussions similaires
Haut