2010-05-23 9 views
0

J'ai du mal à faire tourner la tête autour de celui-ci - et cela devrait être trivial.RewriteCond et Full QUERY_STRING

Je souhaite rediriger une URL avec une chaîne de requête spécifique vers une autre URL.

Je veux envoyer des requêtes contenant la chaîne de requête dans l'URL

http://example.com/index.php?option=com_user&view=register

Pour:

http://example.com/index.php?option=com_regme&view=form&regme=4&random=0&Itemid=6

S'ils ajoutent quoi que ce soit à la fin de la première URL, il devrait toujours aller à la deuxième URL afin qu'ils ne puissent pas contourner la redirection. Rien dans la première chaîne de requête n'a besoin d'être conservé et passé à la seconde - tout ce que je veux faire est de changer complètement l'URL.

Je m'arrache les cheveux en essayant de faire fonctionner cela, mais cela devrait être trivial.

Suggestions?

Merci,

-Tim

Répondre

2

Étant donné que les paramètres peuvent apparaître dans un ordre quelconque, essayez cette règle:

RewriteCond %{QUERY_STRING} (^|&)option=com_user(&|$) 
RewriteCond %{QUERY_STRING} (^|&)view=register(&|$) 
RewriteRule^/index.php?option=com_regme&view=form&regme=4&random=0&Itemid=6 [L,R=301] 
+0

Merci Gumbo. Fonctionne parfaitement! – Tim