Rewriting avec query string
13 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
- rafgug
- WRInaute discret

- Messages: 65
- Inscription: 13 Aoû 2006
Rewriting avec query string
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
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

- Messages: 428
- Inscription: 17 Juin 2004
Normalement :
A verifier.
- 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.
- magic corp.
- WRInaute occasionnel

- Messages: 428
- Inscription: 17 Juin 2004
Peut-être sans le "?" toute à la fin ...
Sinon as tu une erreur 404 ou 500 ?
- 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

- Messages: 191
- Inscription: 3 Aoû 2005
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 !
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é

- Messages: 1063
- Inscription: 6 Sep 2003
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 ?
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

- Messages: 65
- Inscription: 13 Aoû 2006
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 ?
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

- Messages: 65
- Inscription: 13 Aoû 2006
magic corp, avec ca:
@++
R@f
J'ai une 404...RewriteRule ^/$ %{QUERY_STRING} [C]
RewriteRule ^aaa\.php\?page=bb$ http://localhost/allpotes_new/livre-or.html [R=301]
@++
R@f
- rafgug
- WRInaute discret

- Messages: 65
- Inscription: 13 Aoû 2006
J'ai fais quelques tests, mais... c'est pas encore tout à fait ce que je veux:
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
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

- Messages: 320
- Inscription: 10 Juil 2003
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

- Messages: 65
- Inscription: 13 Aoû 2006
La classe, merci bcp!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]
@++
R@f
13 messages
• Page 1 sur 1
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 :
- Problème URL rewriting avec query string
- Duplicate Content et Query String
- redirection avec query string 2 variables
- Dotclear, passer de path info à query string
- Query string ou Path info sous Dotclear ?
- multi langues + google + query string (?lang=fr)
- [Résolu] Problème de redirection avec un query string
- Comment supprimer la query string pour une redirection 301 ?
- [req] monter la query string avec des RewriteCond et Rewrite
- probleme de rewritecond avec query string pour passer le PR d'une page a l'autre
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités
