RedirectMatch avec des paramètres dans l'url

Discussion dans 'Netlinking, backlinks, liens et redirections' créé par Clumpy, 26 Mars 2007.

  1. Clumpy
    Clumpy Nouveau WRInaute
    Inscrit:
    26 Mars 2007
    Messages:
    2
    J'aime reçus:
    0
    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:
    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:
    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:
    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!
     
  2. magic corp.
    magic corp. WRInaute occasionnel
    Inscrit:
    17 Juin 2004
    Messages:
    398
    J'aime reçus:
    0
    Si le mod_rewrite est activé sur ton serveur, tu peux utilisé le RewriteRule.
    Exemple:
    Code:
    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 ;)
     
  3. Clumpy
    Clumpy Nouveau WRInaute
    Inscrit:
    26 Mars 2007
    Messages:
    2
    J'aime reçus:
    0
    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:
    RewriteCond %{QUERY_STRING} ^site=(SPE|GEN)$
    RewriteRule ^/(.*)$ http://www.monsite.fr/$1?site=AUT [R=301,L]
    Merci pour ton aide!
     
Chargement...
Similar Threads - RedirectMatch paramètres Forum Date
Exclure une chaîne d'une redirection par redirectmatch Débuter en référencement 22 Août 2014
Changement complet d'url : htaccess redirectMatch regex et variables Débuter en référencement 26 Juillet 2010
RedirectMatch URL Rewriting et .htaccess 6 Mars 2010
Redirection url avec paramètres tracking dans Google Analytics Google Analytics 23 Novembre 2019
Paramètres UTM sur lien vidéo Youtube Google Analytics 12 Février 2019
Passer des paramètres UTF-8 dans l'URL ! URL Rewriting et .htaccess 5 Mars 2018
Redirection sans paramètres dans l'URL Netlinking, backlinks, liens et redirections 12 Juillet 2017
POO : variable avec paramètres Développement d'un site Web ou d'une appli mobile 26 Mai 2017
Comment opter pour RewriteCond afin de rediriger plusieurs parametres dans l'url URL Rewriting et .htaccess 26 Décembre 2016
Suppression d'un paramètre parmi X paramètres URL Rewriting et .htaccess 21 Novembre 2016
  1. Ce site utilise des cookies. En continuant à utiliser ce site, vous acceptez l'utilisation des cookies.
    Rejeter la notice