RedirectMatch avec des paramètres dans l'url

Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics

Clumpy
Nouveau WRInaute
 
Messages: 2
Inscription: Lun Mar 26, 2007 21:04

RedirectMatch avec des paramètres dans l'url

Message le Lun Mar 26, 2007 21:14

Bonjour,

j'essaie de faire une redirection Apache via la fonction "RedirectMatch".
Je voudrait rediriger une URL sur une autre, en fonction d'un paramètre présent dans l'url appelée. Celle-ci est composée de cette façon :
Code: Tout sélectionner
http://www.monsite.fr/home.do?site=GEN


le paramètre "site" pouvant être égal à GEN, SPE ou AUT par exemple.

J'ai donc construit mon RedirectMatch de cette façon :
Code: Tout sélectionner
RedirectMatch permanent ^/(.*)site=(SPE|GEN)$ http://www.monsite.fr/$1site=AUT


Apparement, il ne prend pas en compte les paramètres passés dans l'url, après le "?". Si je l'enlève de mon URL appelante, cela marche sans problème.
Impossible aussi de le dé-spécialiser dans le redirect, ca ne marche pas.

En revanche, si j'écris
Code: Tout sélectionner
RedirectMatch permanent ^/(.*)$ http://www.monsite.fr/$1


mon paramètre "$1" contient bien l'ensemble de mon url, avec le paramètre "?site=GEN" par exemple, ce qui veut dire que l'ensemble de l'url est prise en compte...

J'ai testé cela sur un apache 1.3, 2... sans succès, sous linux, windows...
Auriez-vous une idée ?
Je n'ai trouvé aucunes informations sur le net disant que les "Redirect" d'Apache ne prennent pas en compte les paramètres d'une url, alors j'ai bon espoir, mais pour l'instant j'ai rien trouvé...
Merci d'avance!

magic corp.
WRInaute impliqué
WRInaute impliqué
 
Messages: 425
Inscription: Jeu Juin 17, 2004 9:56

Message le Lun Mar 26, 2007 22:45

Si le mod_rewrite est activé sur ton serveur, tu peux utilisé le RewriteRule.
Exemple:
Code: Tout sélectionner
RewriteRule ^$ %{QUERY_STRING} [C]
RewriteRule variable=(.*) http://www.example.com/$1.php [R=301,L]

Cette méthode te permet d'applique une regex sur les paramètre d'une URL.

Mon exemple remplace l'URL par la chaine de paramètre. Donc le regex ne s'applique que sur les paramètre et pas sur l'URL. Mais il doit être possible d'inclure les deux.

Je te laisse faire de plus ample test et je reste à l'écoute si besoin ;)

Clumpy
Nouveau WRInaute
 
Messages: 2
Inscription: Lun Mar 26, 2007 21:04

Message le Mar Mar 27, 2007 13:40

Bonjour,
merci pour ta réponse. Effectivement, j'ai écumé le net et j'ai trouvé une autre personne qui est confrontée au même problème mais qui n'a pas trouvé d'autre solution qu'en utilisant le rewrite...

J'ai utilisé cela qui semble plutôt marcher...
Code: Tout sélectionner
RewriteCond %{QUERY_STRING} ^site=(SPE|GEN)$
RewriteRule ^/(.*)$ http://www.monsite.fr/$1?site=AUT [R=301,L]


Merci pour ton aide!


Formation recommandée sur ce thème :

Formation Netlinking (liens et référencement) : apprenez ce qu'est réellement un bon lien pour le référencement et surtout comment en obtenir. 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