Rewriting url avec variable par .htaccess

chaussons

Nouveau WRInaute
bonjour à tous

j'aimerai réécrire une url avec variable pour qu'elle apparaisse en url sans variable dans la barre adresse
avec une règle de reécriture dans un .htaccess

url : http://www.monsite.com/mapage.php?maId=xxxxxxxasalaposugikaf796148

à reécrire en

url : http://www.monsite.com/mapage.php

sachant qu'il y a une seule variable de 27 caractères,série de lettres + série de chiffres, je ne sais pas si cela à de l'importance ...

voili voila si une bonne ame peut me suggérer les lignes de codes parceque je suis une buse et que toutes les règles que j'ai testé ne donnent rien :?
(mod_rewrite, chemin d'accès des fichiers OK, j'ai essayé d'autres règles, ça marche)

merci merci
 

chaussons

Nouveau WRInaute
bonjour mahdivitchee
merci pour ta réponse mais dans l'url à reécrire, il y une variable qui par définition est variable ! (ici un id de session) donc je ne pense pas que ton code soit adapté
merci aussi pour le lien mais j'ai deja épuisé a peu près toutes les solutions des faqs sur le sujet et malheureusement jusqu'ici rien ne fonctionne, (j'ai peut etre mal appliqué les règle proposées ! :( )

donc je reformule ma question >>> mon premier post et merci pour vos futures réponses
 

mahdivitchee

WRInaute discret
Bonjour

j'ai pas compris le role de cette réécriture

normalement le vrai sens :

la mapage.php?maId=xxxxxxxasalaposugikaf796148 vers mapgae-xxxxxxxasalaposugikaf796148.php ( ou html ) et pas vers mapage.php


si le cas

le code sera simple : ( quelquechose-variableidsession.html )

Code:
RewriteRule ^(.*)-([a-z-]+)-([0-9]+)\.html$ mapage.php?ida=$3 [L]

sinon tester encours ce code

Code:
RewriteEngine On
RewriteRule mapage.php mapage.php?maId=([a-z-]+)-([0-9]+)  [L]

mon email est mahdivitche[at]hotmail.com


bonne journée
 

chaussons

Nouveau WRInaute
merci de ton aide mais ça ne fonctionne pas !
apparament virer une variable de session par .htaccess n'est pas possible
je vais trouver une autre solution
merci
 

tunidsieinformation

Nouveau WRInaute
Bonjour,
j'ai un petit problème que j'aime bien le comprendre.
En Faite je souhaite réaliser une réécriture d'URL en utilisant le fichier .htacces de la façcont suivante:
http://www.monsite.com/hotels.php?res=1&hotId=60 à http://www.monsite.com/hotels-1-60
voilà le code que j'ai utilisé:
---------------------------------------------------------------------------------------------------------
Options +FollowSymlinks

# Activation de réécriture d'URL :
RewriteEngine on
#--------------------------------------------------
# Règles de réécriture d'URL :
#--------------------------------------------------
RewriteRule ^hotels-([0-9]+)-([0-9]+)\.html$ /layer/interne/hotels.php?res=$1&hotId=$2 [L]
-------------------------------------------------------------------------------------------------------------
mais je comprend pas pourquoi ce la ne fonctionne pas et l'ancienne URL persiste toujours , qlq1 peut m'aider svp ??? :(
 

mitchum

WRInaute discret
tu mets :RewriteRule ^hotels-([0-9]+)-([0-9]+)\.html$ /layer/interne/hotels.php?res=$1&hotId=$2 [L]

or dans l'url que tu veux, il y a hotels-1-60 et pas de ".html" ca biens peut être de la ?
 

mitchum

WRInaute discret
Tu as essayé :

RewriteRule ^hotels-([0-9]+)-([0-9]+)\.html$ /layer/interne/hotels.php?res=$1&hotId=$2 [L]

et d'aller sur hotels-1-60.html (et pas php ou autre...)

tu n'est pas redirigé vers /layer/interne... ?
tu as une erreur 500 ?

quel est ton retour ???
 

tunidsieinformation

Nouveau WRInaute
quand je mets: RewriteRule ^hotels-([0-9]+)-([0-9]+)\.html$ /layer/interne/hotels.php?res=$1&hotId=$2 [L]
et puis j'actualise l'url dynamique www.monsite.com/hotels.php?res=1&hotId=60 s'affiche toujours comme si j'ai rien mis dans mon .htaccess et j'ai pas d'erreur comme retour c'est à dire rien ne change.

(layer/interne c'est le répertoire où se trouve mon dossier hotels)
 

tunidsieinformation

Nouveau WRInaute
je l'ai testé aussi, mais ça n'a pas marché... je comprend pas d'où vient le pb, je vois que la syntaxe du code est correcte !!!!
t'as pas une autre idée ?
est ce le dossier ou je mets mon .htacess c'est lui qui est erroné ?
 

amph37

WRInaute discret
Juste une remarque, il ne faut pas tester sur l'url avec les paramètres (c'est normal qu'elle ne change pas) mais sur l'url ré-écrite. Il faut tester le fonctionnement de ton rewriting en actualisant une url du genre /hotel-X-Y.html afin de voir si cela marche ou bien si tu choppe une erreur 404 ou 500

tunidsieinformation a dit:
quand je mets: RewriteRule ^hotels-([0-9]+)-([0-9]+)\.html$ /layer/interne/hotels.php?res=$1&hotId=$2 [L]
et puis j'actualise l'url dynamique http://www.monsite.com/hotels.php?res=1&hotId=60 s'affiche toujours comme si j'ai rien mis dans mon .htaccess et j'ai pas d'erreur comme retour c'est à dire rien ne change.

(layer/interne c'est le répertoire où se trouve mon dossier hotels)
 

tunidsieinformation

Nouveau WRInaute
voila j'ai trouvé la solution :)
il suffit de mettre le code dans le .htacess de la façon suivante:

RewriteEngine on
RewriteRule ^hotels-([0-9]+)-([0-9]+)\.php$ hotels.php?res=$1&hotId=$2 [L]


:eek: :eek: :eek: :eek: :eek:
 

Discussions similaires

Haut