RedirectMatch avec des paramètres dans l'url
3 messages • Page 1 sur 1
Consultez la formation sur les stratégies de liens de WebRankInfo / Ranking Metrics
RedirectMatch avec des paramètres dans l'url
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 :
le paramètre "site" pouvant être égal à GEN, SPE ou AUT par exemple.
J'ai donc construit mon RedirectMatch de cette façon :
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
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!
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é

- Messages: 425
- Inscription: Jeu Juin 17, 2004 9:56
Si le mod_rewrite est activé sur ton serveur, tu peux utilisé le RewriteRule.
Exemple:
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
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
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...
Merci pour ton aide!
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!
3 messages • Page 1 sur 1
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 :
- The Technology Behind Google
- Nouveau format d'URL des referrers Google
- Article sur le fichier .htaccess
- Gérer les comptes et profils Google Analytics
- API Blogger : Google Data API
- Google Calendar API
- L'underscore bientôt un séparateur de mots pour Google ?
- Gestion des langues et des sessions en PHP / MySQL
- Modification de vos sites dans l'annuaire
- Lancement confirmé de MSN Search
- RedirectMatch
- RedirectMatch et RewriteRule
- RedirectMatch permanent
- Pourquoi RedirectMatch transforme le ? en %3f ???
- Redirectmatch 301 et référencement
- RedirectMatch avec RewriteCond
- RedirectMatch 301 ou RewriteRule
- RedirectMatch et expression régulière
- RedirectMatch 301 ... et le dollar$1
- URL Rewriting & RedirectMatch
- [RESOLU] problème htaccess > redirectmatch permanent
- [résolu] Faire cohabiter un RewriteRule et un RedirectMatch
- Clic sur URL > RedirectMatch 301
- RedirectMatch 301 d'une url rewriting
- Différence "redirectmatch"
Consultez la description détaillée des produits ou services de Google suivants : Google Alerts
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités

le forum