Aide sur rewriteRule et redirect

WRInaute discret
Bonjour.
Je voudrai rediriger, avec le .htaccess, une url de session aléatoire, car je ne peut pas changer le DATAS.
L'url à rediriger,
/page.php?DATAS=714214453d8a65ae6248.11821179
vers,
/page.php?session_id=714214453d8a65ae6248.11821179
L'identifiant de session etant bien sur aléatoire.
Je suppose qu'il faut réécrire l'url avec $1 et $2 puis la rediriger ensuite, mais n'etant pas trop calé je n'y arrive pas.
Un petit coup de main serai le bienvenu.
Merci d'avance.
 
WRInaute passionné
ça devrait ressembler à cela :

Code:
# a-z Toutes les lettres en minuscule (sans accents)
# 0-9 Tous les chiffres de 0 à 9
# \. le point en tant que tel et non en tant que métacaractère
RewriteRule \page.php?DATAS=([a-z0-9\.]+)$ /page.php?session_id=$1
 
WRInaute discret
medium69 a dit:
ça devrait ressembler à cela :

Code:
# a-z Toutes les lettres en minuscule (sans accents)
# 0-9 Tous les chiffres de 0 à 9
# \. le point en tant que tel et non en tant que métacaractère
RewriteRule \page.php?DATAS=([a-z0-9\.]+)$ /page.php?session_id=$1

Merci de ta réponse.
Sa ne fonctionne pas, j'ai aussi essayé
RewriteRule \page.php?DATAS=([a-z0-9\.0-9]+)$ /page.php?session_id=$1
et
RewriteRule \page.php?DATAS=([a-z0-9\.]+)([0-9])$ /page.php?session_id=$1.$2
ce n'est peut etre pas une réécriture qu'il fait faire.
Je te redonne une explication plus complète.
Le submit du formulaire me renvoi l'url du lien avec l'ajout du DATAS=$session_id, c'est le seul moyen chez allopass d'avoir un parametre en retour d'url.
et il me faut, pour franchir le secure, avoir a la place du DATAS= le parametre session_id=$session_id
Ce ne serai pas plutot une redirection qu'il faudrai faire mais avec le parametre $session_id aléatoire.
J'ai essayé dans le redirect de mettre ([a-z0-9\.] mais sa plante.
Peut tu m'aiclairer de tes lumières ?

Merci.
 
WRInaute discret
Bonjour.
Je n'ai toujours pas trouver la solution pourtant je pense que sa devrai marcher.
J'ai fait :
RewriteRule ^page\.php?DATAS=(([0-9a-z]+)\.([0-9]+))$ page.php?session_id=$1 [NC,L]
Mais toujours le DATAS en paramètres.

Je reprécise : cette url avec DATAS et un retour d'un site extérieur.

SVP si quelq'un à une soluce.

Merci.
 
WRInaute discret
et un truc comme ça ?

Code:
RewriteRule ^page\.php(.*)DATAS=(.*)(.*) page.php?$1session_id=$2$3 [L]

avec ça, tu isoles la valeur de DATAS où qu'elle soit placée dans la liste des paramètres.

j'ai pas testé...

[edit : j'ai corrigé un erreur de syntaxe le 31/01/07 à 01h31]
 
WRInaute impliqué
ca ne peux pas marcher car ta page.php existe sur ton serveur

renomme la en page2.php et applique la regle que t'a donné medium en remplacant page par page2 sur le 2eme argument :)

Code:
# a-z Toutes les lettres en minuscule (sans accents)
# 0-9 Tous les chiffres de 0 à 9
# \. le point en tant que tel et non en tant que métacaractère
RewriteRule    ^page\.php?DATAS=([a-z0-9\.]+)$     page2.php?session_id=$1   [L]
 
WRInaute discret
Bonjour.
Merci pour vos réponse mais sa colle toujours pas.
J'ai renommé et fait
RewriteRule ^page\.php?DATAS=(([0-9a-z]+)\.([0-9]+))$ page2.php?session_id=$1 [NC,L]
et
RewriteRule ^page\.php?DATAS=([0-9a-z]+)\.([0-9]+)$ page2.php?session_id=$1.$2 [NC,L]
et
RewriteRule ^page\.php?DATAS=([a-z0-9\.]+)$ page2.php?session_id=$1 [NC,L]
et meme pour tous les caractères
RewriteRule ^page\.php?DATAS=([.]+)$ page2.php?session_id=$1 [NC,L]

Rien à faire sa marche pas.

Ma session_id est de ce format :
89788045c03b5bdb3899.95975125
Sa serait pas un problème de longueur à réécrire ?

aye!!! c'est pas le noscript d'allopass qui bloque ?

Merci.
 
WRInaute impliqué
qu'est-ce qui ne marche pas ?
il n'y a aucune redirection ? erreur 500 ?
tu as déja fait de l'url rewriting sur ton serveur ?

question bete : tu as bien mis "RewriteEngine On" dans ton htaccess ? :)
 
WRInaute discret
NxtGen
Oui, j'ai déja du rewrite, je me débrouille pas mal en général mais là sa veut pas rediriger.
J'ai pas d'erreur, tout vas bien mais pas de redirection.
Bien rewrite engine à on comme sur mes autres htaccess.
Sur le htaccess racine, je n'ai pas de redirection sur ce dossier.
Alors je pige pas.

En tout cas, merci de t'interresser à mon problème.
 
WRInaute impliqué
euh si ta page est dans un dossier, il faut quand meme faire la redirection dans le htaccess a la racine de ton site

ca doit donner sun truc comme ca :
RewriteRule ^dossier/page\.php?DATAS=(([0-9a-z]+)\.([0-9]+))$ dossier/page2.php?session_id=$1 [NC,L]

Donne nous une url peut etre pour qu'on puisse voir exactement :)
 
WRInaute discret
Mais j'ai plusieurs htaccess dans mes dossiers et sa fonctionne trés bien.
Sinon j'aurai un htaccess illisible si je mettai tout à la racine.
J'aissaierai à la racine ce soir, et vous tiendrai au jus.
 
WRInaute discret
Re.
Bon rien à faire.
J'ai mis dans le htaccess à la racine
RewriteRule ^membres/zone-membres/form-contact\.php?DATAS=(([0-9a-z]+)\.([0-9]+))$ /membres/zone-membres/contact-assistance.php?session_id=$1
Sa me renvoi une erreur 404

le fichier contact-assistance c'est le form-contact renommé.

L'URL demandée
/membres/zone-membres/form-contact.php?DATAS=55331245c0fe708718c7.47694116

Sa m'emm..... et pourtant je suis persuadé que sa doit fonctionner.
 

➡️ Offre MyRankingMetrics ⬅️

pré-audit SEO gratuit avec RM Tech (+ avis d'expert)
coaching offert aux clients (avec Olivier Duffez ou Fabien Faceries)

Voir les détails ici

coaching SEO
Discussions similaires
Haut