htaccess et changement de nom de variable
11 messages
• Page 1 sur 1
Consultez la formation URL Rewriting et sites dynamiques de WebRankInfo / Ranking Metrics
-

auboutdufil - Nouveau WRInaute

- Messages: 21
- Inscription: 19 Mai 2006
htaccess et changement de nom de variable
Bonjour à tous,
Je vous explique mon problème.
Je souhaite rediriger dans mon fichier htaccess les url du type suivant :
-www.site.com/index.php?oldparam=xxx
-www.site.com/index.php?oldparam=yyy
-www.site.com/index.php?oldparam=zzz
en
-www.site.com/index.php?newparam=xxx
-www.site.com/index.php?newparam=yyy
-www.site.com/index.php?newparam=zzz
etc...
Y a t il des gouroux htaccess dans l'assemblée pour trouver la solution ?
Merci
Je vous explique mon problème.
Je souhaite rediriger dans mon fichier htaccess les url du type suivant :
-www.site.com/index.php?oldparam=xxx
-www.site.com/index.php?oldparam=yyy
-www.site.com/index.php?oldparam=zzz
en
-www.site.com/index.php?newparam=xxx
-www.site.com/index.php?newparam=yyy
-www.site.com/index.php?newparam=zzz
etc...
Y a t il des gouroux htaccess dans l'assemblée pour trouver la solution ?
Merci
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
Essaie ça
Bon, la redirection c'est à toi de voir si tu la veux. Si tu ne la veux pas, enlève ce qui est entre [].
Vap
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^oldparam=(.*)$
RewriteRule index\.php /index.php?newparam=%1 [R=301]
Bon, la redirection c'est à toi de voir si tu la veux. Si tu ne la veux pas, enlève ce qui est entre [].
Vap
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
RewriteCond %{QUERY_STRING} ^oldparam=(.*)$
cela veux dire que la chaine commence a 'old.... alors qu'elle commence a partir de l'index, donc ne pas mettre le début de chaine (^) si le serveur le permet répond au problème
pour la redirection , je l'écrirais comme ceci:
cela veux dire que la chaine commence a 'old.... alors qu'elle commence a partir de l'index, donc ne pas mettre le début de chaine (^) si le serveur le permet répond au problème
pour la redirection , je l'écrirais comme ceci:
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule ^$ /index.php?newparam=%1 [QSA,L]
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
@KOogar,
J'aurais du tester effectivement.
Du coup j'ai une question aussi. A quoi sert le QSA puisqu'on met une autre chaîne après le '?' ?
Sinon, ta règle ne se déclenche pas chez moi avec ^$ en partie gauche.
Et enfin, si on veut une redirection 301, [QSA,L,R=301] dans ta règle crée une boucle infinie. C'est le QSA qui pose problème.
@auboutdufil, ce qui suit marche chez moi:
J'aurais du tester effectivement.
Du coup j'ai une question aussi. A quoi sert le QSA puisqu'on met une autre chaîne après le '?' ?
Sinon, ta règle ne se déclenche pas chez moi avec ^$ en partie gauche.
Et enfin, si on veut une redirection 301, [QSA,L,R=301] dans ta règle crée une boucle infinie. C'est le QSA qui pose problème.
@auboutdufil, ce qui suit marche chez moi:
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule index\.php /index.php?newparam=%1 [R=301,L]
-

auboutdufil - Nouveau WRInaute

- Messages: 21
- Inscription: 19 Mai 2006
Merci mais du coup j'ai joué mon petit joueur avec un 301 en php
J'ai pas pu le faire en htaccess car je dois rediriger une liste de valeur en pas toutes les valeurs...
En fait, je ne dois pas rediriger tous les oldparam en newparam, je sais pas si je suis clair...
J'ai pas pu le faire en htaccess car je dois rediriger une liste de valeur en pas toutes les valeurs...
En fait, je ne dois pas rediriger tous les oldparam en newparam, je sais pas si je suis clair...
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
Vap a écrit:@KOogar,
J'aurais du tester effectivement.
Du coup j'ai une question aussi. A quoi sert le QSA puisqu'on met une autre chaîne après le '?' ?
Sinon, ta règle ne se déclenche pas chez moi avec ^$ en partie gauche.
Et enfin, si on veut une redirection 301, [QSA,L,R=301] dans ta règle crée une boucle infinie. C'est le QSA qui pose problème.
@auboutdufil, ce qui suit marche chez moi:
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule index\.php /index.php?newparam=%1 [R=301,L]
super de tester,
et en mettant l'url physique en absolue ? tu peux regarder si cela fonctionne sur ton serveur ?
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule $ http://www.site.com/index.php?newparam=%1 [R,L]
Pour le QSA, je le mettais plus par habitude... si tu me dis que cela ne sert a rien de forcer l'ajout de la chaine des arguments, n'ayant jamais tester, je ne peux qu'apprendre
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
KOogar a écrit:super de tester,
et en mettant l'url physique en absolue ? tu peux regarder si cela fonctionne sur ton serveur ?
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule $ http://www.site.com/index.php?newparam=%1 [R,L]
Pour le QSA, je le mettais plus par habitude... si tu me dis que cela ne sert a rien de forcer l'ajout de la chaine des arguments, n'ayant jamais tester, je ne peux qu'apprendre
Moi aussi j'ai appris car je croyais que la query string commençait après le ?
Ca marche avec l'URL en dur. Note que ce qui suit marche aussi:
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule $ /index.php?newparam=%1 [R,L]
Ce qui ne marchait pas est:
- Code: Tout sélectionner
RewriteCond %{QUERY_STRING} oldparam=(.*)$
RewriteRule ^$ /index.php?newparam=%1 [R,L]
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
super, c'est le top sur ce coup avec des "redirections massives" en .htaccess
si tu as encore ton serveur d'allumé, peux-tu voir si en remplacant la globale QUERY_STRING par REQUEST_URI le code ronronne toujours ?
si tu as encore ton serveur d'allumé, peux-tu voir si en remplacant la globale QUERY_STRING par REQUEST_URI le code ronronne toujours ?
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} oldparam=(.*)$
RewriteRule $ /index.php?newparam=%1 [R,L]
- Vap
- WRInaute passionné

- Messages: 1090
- Inscription: 17 Juin 2007
KOogar a écrit:super, c'est le top sur ce coup avec des "redirections massives" en .htaccess![]()
si tu as encore ton serveur d'allumé, peux-tu voir si en remplacant la globale QUERY_STRING par REQUEST_URI le code ronronne toujours ?
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} oldparam=(.*)$
RewriteRule $ /index.php?newparam=%1 [R,L]
Ca marche pas...
-

KOogar - WRInaute accro

- Messages: 3974
- Inscription: 16 Nov 2004
yep,
devrait marcher ? si tu es dans le coin... pour un ptit look after it
devrait marcher ? si tu es dans le coin... pour un ptit look after it
- Code: Tout sélectionner
RewriteCond %{REQUEST_URI} index.php?oldparam=(.*)$
RewriteRule $ /index.php?newparam=%1 [R,L]
11 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 :
- Changement nom de domaine accès htaccess impossible !
- Htaccess rewriterule -> site.com/?variable -> site.com/variable/
- Enlever une variable du htaccess
- htaccess, opération sur variable
- Problème de navigation via changement de variable
- variable de donnée dans .htaccess?
- changement de nom de domaine - changement de l'ordre des mots!
- Redirection avec variable sur un htaccess
- Comment déclarer variable dans un .htaccess ?
- Problème rewriting/htaccess une variable
Consultez la description détaillée des produits ou services de Google suivants : JotSpot
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
