redirection plusieurs Url vers une page

  • Auteur de la discussion Auteur de la discussion ringout
  • Date de début Date de début
WRInaute discret
Bonjour,

Je souhaiterais rediriger plusieurs pages générés par erreur et qui sont indexé dans GWT vers une seule page. Toutes ces pages seront redirigées vers https://www.domain.com/fr/free-quote/

Les pages à rediriger contiennent deux parties dans l'url qui change xxxx :

https://www.domain.com/fr/xxxxx/free-quote?treatment=xxxxx
https://www.domain.com/fr/xxxxx/free-quote?treatment=xxxxx


J'ai testé une redirection en .htaccess mais ça ne fonctionne pas

RewriteEngine on
RewriteRule free-quote?treatment https://www.domain.com/fr/free-quote/ [R=301,L]

Merci pour votre aide !
:)
 
WRInaute impliqué
C'est pas très clair, et bien gérer une expression rationnelle commence par un peu de rigueur.

Quelles sont les URL à rediriger ? qu'est-ce qui suffit à les différencier de celles qu'il ne faut pas rediriger ? Pour faire une regex la plus simple possible il faut déterminer la manière la plus "courte" d'identifier toutes les pages cibles sans faux positif.

Petite particularité des réécritures d'URL (du moins pour Apache, connais pas assez NGINX) différencier la query du reste de l'URL (parce qu'il faudra les traiter séparément).
 
WRInaute discret
Bonjour,

Je souhaiterais juste rediriger tous les pages :

/fr/xxxxx/free-quote?treatment=xxxxx vers /fr/free-quote/

Les xxxx dans l'url sont variables et tous les pages avec ce format sont à rediriger.

Merci pour votre aide
 
WRInaute impliqué
C'est à peine plus clair.

Faut-il tester la variable dans la query et s'assurer qu'elle soit identique à celle dans le path ?

De quoi est composée la variable ? chiffres, lettres, majuscules, minuscules ? nombre fixe de caractères ?

Surtout quelles sont les autres URL qui ne doivent pas êtres impactées par le changement ?

Est-il nécessaire de vérifier si "treatment" est dans la query ?

Bref, on peut essayer ça, en partant des hypothèses suivantes : on se fout de ce qu'il y a dans la query, la variable est composée d'un certain nombre de caractères (au moins 1) qui ne sont pas des barres obliques "/" :

Code:
RewriteRule ^fr/[^/]+/free-quote$ /fr/free-quote/ [R=301,L]
 
WRInaute discret
Je viens de tester la rédirection est ça ne fonctionne pas.

Faut-il tester la variable dans la query et s'assurer qu'elle soit identique à celle dans le path ?

Pourriez-vous expliquer ?

De quoi est composée la variable ? chiffres, lettres, majuscules, minuscules ? nombre fixe de caractères ?

- la première variable est composée généralement de (lettre, chiffre et tiret)
- la deuxième variable est composée généralement de (lettre, chiffre, tiret, espace et point d'exclamation)

Surtout quelles sont les autres URL qui ne doivent pas êtres impactées par le changement ?

je pense qu'il n'yaura pas d'ompact

Est-il nécessaire de vérifier si "treatment" est dans la query ?

Non pas nécessaire

Merci
 
WRInaute impliqué
Je viens de tester la rédirection est ça ne fonctionne pas.

C'est-à-dire ? ça ne redirige pas ? ça ne redirige pas vers la bonne page ? ça redirige d'autres pages ?

Si on peut se passer de toute la partie dans la query, on peut ajouter le drapeau QSD :

Code:
RewriteRule ^fr/[^/]+/free-quote$ /fr/free-quote/ [R=301,L,QSD]

Mais ça devrait marcher (simulation), ou alors c'est soit que les infos ne sont pas bonnes, soit qu'il y a autre chose dans le htaccess qui vient en contradiction avec la règle.
 
Discussions similaires
Haut