soucis url rewriting

Nouveau WRInaute
bonjour, j'ai un 60gp chez OVH et j'ai un soucis avec une réécriture d'url :

RewriteRule ^commune/([a-z0-9]*)\.php$ commune.php?id=$1 [L]

Cela me redirige bien vers la page commune.php (donc l'url rewriting est bien actif) mais je n'arrive pas à récupérer le paramètre $1

Dans mon script php, j'ai mis la ligne
$commune = $_GET['id'];

Lorsque je demande à afficher la variable $commune, rien de s'affiche, la variable ne contient rien.

Une idée ??

dois-je mettre le htacces dans le repertoire en question ou puis-je le mettre a la racine ?
 
WRInaute accro
lesissoux a dit:
Cela me redirige bien vers la page commune.php (donc l'url rewriting est bien actif)
Non, si un fichier existe déjà, le rewriting ne fonctionne pas. Il cherche un fichier ou un répertoire commune, et comme il l'a trouvé, certes en fichier pas en répertoire, mais il l'a trouvé
Essaie avec [R,L] au lieu de [L]
 
Nouveau WRInaute
aucune page ni répertoire du nom de "commune" n'existe sur mon site.

Le problème vient peut-être du mode de récupération de $1, je passe par $_GET, je ne vois pas comment faire autrement.

cela ne change rien avec [R,L] :(
 
WRInaute passionné
Salut et bienvenue,

Il te manque peut-être le / à commune...

RewriteRule ^/commune/([a-z0-9]*)\.php$ commune.php?id=$1 [L]

ou

RewriteRule commune/([a-z0-9]*)\.php$ commune.php?id=$1 [L]
 
WRInaute accro
lesissoux a dit:
aucune page ni répertoire du nom de "commune" n'existe sur mon site.
C'est pas vraiment ce que cela dit
lesissoux a dit:
Cela me redirige bien vers la page commune.php
lesissoux a dit:
Le problème vient peut-être du mode de récupération de $1, je passe par $_GET, je ne vois pas comment faire autrement.
cela ne change rien avec [R,L] :(
Le but n'était pas de changer quoique ce soit, mais de voir la réécriture effectuée dans la barre d'adresse. SI elle n'est pas réécrite comme prévue (avec id=toto) il faudra voir la règle, sinon ça vient du script php
 
Nouveau WRInaute
autant pour moi (oups), il y a effectivement la page commune.php puisque la règle redirige dessus.

L'url dans la barre d'adresse ne change pas. Je vais revoir mon script...

vivement l'année prochaine..
 
Nouveau WRInaute
ok merci, j'y planche mais sans succès.

j'en suis qu'à la première ligne, qu'est ce que ca va être la suite ????

j'ai pas fini d'en "bouffer" du rewriting....

pensez à moi pendant votre réveillon !!
 
WRInaute accro
pour que l'UR fonctionne il faut qu'aucun fichier ne corresponde à ta recherche. Donc si tu fais ton url sous la forme
/communes/xxx et que ensuite dans l'UR tu rediriges vers commune?id=xxx ça devrait fonctionner :wink:
 
Nouveau WRInaute
la redirection en elle même fonctionne, le navigateur affiche bien la page souhaitée.

mais le paramètre ne passe pas. et l'adresse du navigateur reste sous cette forme "/commune/xxx".

à part le [R], quoi faire pour changer l'adresse dans le navigateur ?
 
Nouveau WRInaute
je crois avoir un indice...

au lieu de mettre :
RewriteRule ^commune/([a-z0-9]+).php$ commune.php?id=$1 [R,L]

j'ai mis ceci : (le commune en moins)
RewriteRule ^/([a-z0-9]+).php$ commune.php?id=$1 [R,L]

dans le navigateur, je saisi l'adresse suivante
-www.monsite.com/paris.php

et là, ça me retourne
-www.monsite.com/home/monsite/www/commune.php?id=paris

je pense que le "commune" en début d'url qui pose problème, mais pourquoi ? et comment rectifer l'url
 
WRInaute accro
lesissoux a dit:
je pense que le "commune" en début d'url qui pose problème, mais pourquoi ? et comment rectifer l'url
Pourquoi ?
Leonick a dit:
pour que l'UR fonctionne il faut qu'aucun fichier ne corresponde à ta recherche. Donc si tu fais ton url sous la forme
/communes/xxx et que ensuite dans l'UR tu rediriges vers commune?id=xxx ça devrait fonctionner :wink:
 
WRInaute impliqué
Et si tu renommais simplement la page commune.php en page.php

Ainsi la page commune.php n'est pas trouvée et la regle fonctionne :)

l'url commune/blabla.php affichera donc la page page.php?id=blabla, mais l'adresse restera commune/blabla.php
 
Nouveau WRInaute
merci à tous pour vos réponses.

je progresse, il me semble que le probleme vient du caractère /

mes autres règles (sans caractère /) fonctionnent bien. Mais dès que j'utilise ce caractère, c'est le bin's.
j'ai essayé en mettant \ pour échapper le caractère sans succès.

quelqu'un a t'il déjà eu ce genre de problème ?
 
Discussions similaires
Haut