Rewriting avec query string

Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Rewriting avec query string

Message le Mer Aoû 23, 2006 10:46

Bijour! :)
Je suis en train de refaire mon site et est venu le temps de m'occuper des 301...

J'ai donc tenté, en local, pour test:
RewriteRule ^aaa.php$ http://localhost/allpotes_new/livre-or.html [R=301]
>> Ca marche

Par contre:
RewriteRule ^aaa.php?page=bb$ http://localhost/allpotes_new/livre-or.html [R=301]
>> Ne marche pas

Comment faire pour que le rewriting tienne compte du query string?

Merci! :)

@++

R@f

magic corp.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 428
Inscription: 17 Juin 2004

Message le Mer Aoû 23, 2006 11:51

Normalement :
Code: Tout sélectionner
RewriteRule ^/$ %{QUERY_STRING} [C]
RewriteRule ^aaa\.php\?page=bb$ http://localhost/allpotes_new/livre-or.html? [R=301,L]

A verifier.

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Message le Mer Aoû 23, 2006 12:56

Salut!
Merci mais ça ne fonctionne pas: la redirection n'est pas faite...

@++

R@f

magic corp.
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 428
Inscription: 17 Juin 2004

Message le Mer Aoû 23, 2006 16:38

Peut-être sans le "?" toute à la fin ... :?
Code: Tout sélectionner
RewriteRule ^/$ %{QUERY_STRING} [C]
RewriteRule ^aaa\.php\?page=bb$ http://localhost/allpotes_new/livre-or.html [R=301,L]

Sinon as tu une erreur 404 ou 500 ?

smrhp
WRInaute discret
WRInaute discret
 
Messages: 191
Inscription: 3 Aoû 2005

Message le Mer Aoû 23, 2006 18:58

je ne suis pas sûr d'avoir compris très précisément ta question mais je pense que tu cherches l'option QSA comme je l'ai cherchée aussi ;)

le fait de mettre [QSA] à la fin de ta ligne permet de conserver les querystring. En gros :
http://localhost/aaa.php?page=bb

devient en quelque sorte

http://localhost/livre-or.hml?page=bb

et ta variable GET "page" est accessible.

Par contre si tu veux faire des tests depuis ton .htaccess sur les query string c'est plutôt ça qu'il te faut :
RewriteCond %{QUERY_STRING} from=pg_(.+)
RewriteRule ....

tu poses une condition de query string (ici sur ?from=) et tu appliques la règle du dessous quand ça répond à ça.

mais encore une fois , je ne suis sûr d'avoir compris précisément ce que tu veux !


Remi L.
WRInaute passionné
WRInaute passionné
 
Messages: 1063
Inscription: 6 Sep 2003

Message le Jeu Aoû 24, 2006 0:40

Rafgug, j'ai l'impression que te trompes de sens.

Le Rewriting est utilisé généralement pour supprimer les url avec query string.
Là, ton exemple montre que tu désires le contraire : tu en as marre de tes urls en html et tu voudrais qu'elles aient l'apparence d'url avec plein de paramètres...
C'est bien cela que tu veux ? ;)

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Message le Jeu Aoû 24, 2006 8:27

Remi L. a écrit:Rafgug, j'ai l'impression que te trompes de sens.

Le Rewriting est utilisé généralement pour supprimer les url avec query string.
Là, ton exemple montre que tu désires le contraire : tu en as marre de tes urls en html et tu voudrais qu'elles aient l'apparence d'url avec plein de paramètres...
C'est bien cela que tu veux ? ;)
:lol: :lol:
Oui, en effet!

Je m'explique: j'avais un site avec des variables dans l'url ( j'avais pas si mal fait le chose, les variables étaient parsées de telle façon qu'il n'y en avait qu'une dans l'url, mais là n'est pas la question ). Je suis en train de refaire mon site et je suis donc passé en url rewriting, avec jolies url: http://www.allpotes.ch/new/

Le truc c'est que j'aimerais faire des redirections 301 de mes anciennes pages AVEC query string vers les nouvelles en HTML...

Précision sup: je ne vais pas garder la querystring, je vais juste la transformer en joli HTML, :)

@++

R@f

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Message le Jeu Aoû 24, 2006 8:31

magic corp, avec ca:
RewriteRule ^/$ %{QUERY_STRING} [C]
RewriteRule ^aaa\.php\?page=bb$ http://localhost/allpotes_new/livre-or.html [R=301]
J'ai une 404...

@++

R@f

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Message le Jeu Aoû 24, 2006 8:44

J'ai fais quelques tests, mais... c'est pas encore tout à fait ce que je veux:
RewriteCond %{QUERY_STRING} page=(.+)
RewriteRule aaa http://localhost/allpotes_new/accueil.html [R=301]
RewriteRule bbb http://localhost/allpotes_new/livre-or.html [R=301]


Deux pbs:
- avec aaa.php?page=aaa, ca m'envoie bien sur accueil ; mais aaa.php?page=bbb ne m'envoie pas sur livre-or.html
- la query string est transmise dans la nouvelle url, ce que je veux pas: accueil.html?page=aaa

Merci!

@++

R@f

nikoshr
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 320
Inscription: 10 Juil 2003

Message le Jeu Aoû 24, 2006 17:13

Quelque chose dans ce goût là
Code: Tout sélectionner
   RewriteCond %{QUERY_STRING} page=(.+)
   RewriteRule aaa\.php   %1

   RewriteRule aaa$ http://localhost/allpotes_new/accueil.html? [R=301]
   RewriteRule bbb$ http://localhost/allpotes_new/livre-or.html? [R=301]

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Message le Jeu Aoû 24, 2006 20:02

nikoshr a écrit:Quelque chose dans ce goût là
Code: Tout sélectionner
   RewriteCond %{QUERY_STRING} page=(.+)
   RewriteRule aaa\.php   %1

   RewriteRule aaa$ http://localhost/allpotes_new/accueil.html? [R=301]
   RewriteRule bbb$ http://localhost/allpotes_new/livre-or.html? [R=301]
La classe, merci bcp! :)

@++

R@f

rafgug
WRInaute discret
WRInaute discret
 
Messages: 65
Inscription: 13 Aoû 2006

Message le Ven Aoû 25, 2006 8:29

Mes 137 liens sont ré-écrits, merci encore!


jOoL
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 490
Inscription: 4 Mai 2005

Re: Rewriting avec query string

Message le Lun Déc 06, 2010 19:43

ça m'a bien aidé aussi merci! J'avais fait une erreur dans la query string d'une newsletter. Du coup j'arrivais pas à traquer comme il faut les entrées depuis celle-ci!

Parfait!


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation URL Rewriting et sites dynamiques : apprenez comment mettre en place la réécriture d'URL, comment optimiser vos URL et profiter de vos pages dynamiques pour booster votre référencement. Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités