# Redirect\_to a nuovo url

**URL:** <https://www.ruby-forum.com/t/redirect-to-a-nuovo-url/176720>\
**Category:** IT\
**Created:** [October 5, 2009, 1:29pm UTC](https://www.ruby-forum.com/t/redirect-to-a-nuovo-url/176720 "2009-10-05T13:29:04Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![alesc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f19dbf/32.png) [@alesc](https://www.ruby-forum.com/u/alesc)\
**Post date:** [October 5, 2009, 1:29pm UTC](https://www.ruby-forum.com/t/redirect-to-a-nuovo-url/176720/1 "2009-10-05T13:29:04Z")

</div>

Stavo inserendo un redirect 301 su un sito, per portarmi dietro gli  
eventuali parametri ho dovuto fare:

params.each do |key, value|  
param\_s = %(#{param\_s}#{(param\_s == “” ? “?” : “&”)}#{key}=#{value})  
end  
redirect\_to “http://#{siteurl}/#{param\_s}”

Avete idea se ci sono altre opzioni?

---

<div class="post-metadata">

**Author:** ![alesc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f19dbf/32.png) [@alesc](https://www.ruby-forum.com/u/alesc)\
**Post date:** [October 5, 2009, 1:50pm UTC](https://www.ruby-forum.com/t/redirect-to-a-nuovo-url/176720/2 "2009-10-05T13:50:43Z")

</div>

Se l’URL è interno e puoi sfruttare le regole di routing

redirect\_to params.merge(:host =\> siteurl)

in alternativa usa il metodo to\_param se vuoi solo accodare i parametri  
della querystring.

redirect\_to “http://#{siteurl}/?#{params.to\_param}”

2009/10/5 Alessandro S. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

> Posted via [http://www.ruby-forum.com/](http://www.ruby-forum.com/).
> 
> * * *
> 
> Ml mailing list  
> [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
> [http://lists.ruby-it.org/mailman/listinfo/ml](http://lists.ruby-it.org/mailman/listinfo/ml)

–  
Simone C.

Site & Blog: [http://www.simonecarletti.com](http://www.simonecarletti.com)  
Email: [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)  
LinkedIn: [http://linkedin.com/in/weppos](http://linkedin.com/in/weppos)  
Nick: weppos | Skype: weppos

---

<div class="post-metadata">

**Author:** ![alesc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f19dbf/32.png) [@alesc](https://www.ruby-forum.com/u/alesc)\
**Post date:** [October 5, 2009, 1:57pm UTC](https://www.ruby-forum.com/t/redirect-to-a-nuovo-url/176720/3 "2009-10-05T13:57:44Z")

</div>

Alessandro S. wrote:

> Stavo inserendo un redirect 301 su un sito, per portarmi dietro gli  
> eventuali parametri ho dovuto fare:
> 
> params.each do |key, value|  
> param\_s = %(#{param\_s}#{(param\_s == “” ? “?” : “&”)}#{key}=#{value})  
> end  
> redirect\_to “http://#{siteurl}/#{param\_s}”
> 
> Avete idea se ci sono altre opzioni?

params.to\_param 🙂

peraltro il codice che hai scritto eh, uhm, bruttino… semmai:

params\_s = params.map { |key,value| “#{key}=#{value}” } .join(“&”)  
redirect\_to “http://#{siteurl}?#{params\_s}”

ma anche così non gestiresti correttamente spazi e amenità varie.

Andrea

---

<div class="post-metadata">

**Author:** ![alesc](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f19dbf/32.png) [@alesc](https://www.ruby-forum.com/u/alesc)\
**Post date:** [October 5, 2009, 2:56pm UTC](https://www.ruby-forum.com/t/redirect-to-a-nuovo-url/176720/4 "2009-10-05T14:56:54Z")

</div>

Andrea C. wrote:

> Alessandro S. wrote:
> 
> > Stavo inserendo un redirect 301 su un sito, per portarmi dietro gli  
> > eventuali parametri ho dovuto fare:
> > 
> > params.each do |key, value|  
> > param\_s = %(#{param\_s}#{(param\_s == “” ? “?” : “&”)}#{key}=#{value})  
> > end  
> > redirect\_to “http://#{siteurl}/#{param\_s}”
> > 
> > Avete idea se ci sono altre opzioni?
> 
> params.to\_param 🙂
> 
> peraltro il codice che hai scritto eh, uhm, bruttino… semmai:
> 
> params\_s = params.map { |key,value| “#{key}=#{value}” } .join(“&”)  
> redirect\_to “http://#{siteurl}?#{params\_s}”
> 
> ma anche cosï¿½ non gestiresti correttamente spazi e amenitï¿½ varie.
> 
> Andrea

SÃ¬ non era carino 😛

grazie!
