Je pense que cette chaîne de 'item1 + item2 + item3' est votre vrai problème.
Le standard HTML est très spécifique sur la façon dont les paramètres sont spécifiés: ils doivent être séparés de l'URL par un signe d'interrogation (?) Et chaque paramètre a la syntaxe suivante: name=encoded_value
. Le séparateur de paramètre est l'esperluette (&).
Ainsi, la manière standard de spécifier les paramètres seraient:
http://domain.com/events/14159-international-hardware-show-2010?number=91&username=prashant&year=2010&source=ALIBA.BACOM&hl=en&ct=clnk
Une URL comme ceci permettra à votre contrôleur pour obtenir le 91
dans params[:number]
, "prashant"
dans params[:username]
etc.
Si pour certains raison pour laquelle doit conserver la structure non standard, vous pouvez. Vous devrez mettre toutes les pièces non standard dans un "grand paramètre standard".
http://domain.com/events/14159-international-hardware-show-2010?bigparameter=91+prashant+2010+OR+email+OR+data+OR+base+-ALIBA.BACOM&hl=en&ct=clnk
Maintenant, vous aurez la chaîne "91+prashant+2010+OR+email+OR+data+OR+base+-ALIBA.BACOM"
dans params[:bigparameter]
. Vous devrez cependant l'analyser vous-même.
Je recommande fortement de suivre la première option. En général, c'est une bonne idée de respecter les normes (cela signifie moins de problèmes et simplifie le travail).
Dans les deux cas, le "?" Le signe fera en sorte que le serveur fasse la différence entre l'URL de base et les paramètres, donc vous n'aurez aucun problème avec le format de l'URL.
Mon site génère l'url comme ceci http://domain.com/events/14159-international-hardware-show-2010. Les spammeurs ajoutent sur le site avec l'URL bizarre. Je pensais à ce qui serait le meilleur moyen de ne pas obtenir hoptoad. –
Ensuite, ajoutez un? à la fin de vos URL générées: http://domain.com/events/14159-international-hardware-show-2010? . Cela vous permettra de rejeter tout ce que les spammeurs ajoutent facilement – kikito