2010-11-07 20 views
0

J'ai un formulaire de recherche avec 2 champs (catégorie et mots-clés). En fonction de l'entrée utilisateur urls recherche quelque chose comme:nettoyer les URLs avec mod_rewrite à partir d'un formulaire GET

search.php?cat=&search=&agree=agree_terms&go=Go 

J'ai quelques règles de re_write pour d'autres pages qui sont bien, mais je suis coincé sur la façon de traiter ce formulaire de recherche

Je suis tombé sur une solution cela suggérait de combiner mod_rewrite avec un rafraîchissement méta php à partir d'une page supplémentaire. J'ai réussi à faire fonctionner cela mais il m'est venu à l'esprit que ce n'est peut-être pas une solution conviviale pour les moteurs de recherche.

Existe-t-il un moyen d'avoir des URLs propres à partir d'un formulaire GET avec les règles mod_rewrite uniquement?

Répondre

0

Si vous avez un nombre fixe d'arguments, vous pouvez essayer quelque chose comme:

RewriteRule ^query/arg_1/([^/]*)/arg_n/([^/]*)/$ search.php?arg_1=\1&arg_n=\2 

(et ainsi de suite)

Cela transformera /query/arg_1/value_1/arg_n/value_n/ en /search.php?arg_1=value_1&arg_n=value_n, mais vous devez faire des valeurs sûres sont correctement échappé.

La motivation pratique pour lier un "get" URL comme ceci au lieu d'utiliser des paramètres par défaut ou des champs cachés est au-delà de moi.