# Rails e cambio di root

**URL:** <https://www.ruby-forum.com/t/rails-e-cambio-di-root/197502>\
**Category:** IT\
**Created:** [October 15, 2010, 10:38am UTC](https://www.ruby-forum.com/t/rails-e-cambio-di-root/197502 "2010-10-15T10:38:45Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Dobai-Pataky\_BSSSSl](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/77aa72/32.png) [@Dobai-Pataky\_BSSSSl](https://www.ruby-forum.com/u/Dobai-Pataky_BSSSSl)\
**Post date:** [October 15, 2010, 10:38am UTC](https://www.ruby-forum.com/t/rails-e-cambio-di-root/197502/1 "2010-10-15T10:38:45Z")

</div>

Buongiorno lista.  
Sto impazzendo con le configurazioni di routes.rb (root, map.root,  
map.home), ma non capisco dove sbaglio…

In pratica come tutti ben sappiamo rails fa partire il sito da  
[http://macchina:3000/](http://macchina:3000/)

Io avrei la necessità di farlo partire da:  
[http://macchina:3000/applicazione/](http://macchina:3000/applicazione/) , con tutta questa parte “statica”…  
quale impostazione devo cambiare/aggiungere? Sto buttando per aria il  
web, ma o guardo nei posti sbagliati o capisco male le istruzioni… se  
ho ben capito devo giocare appunto con routes.rb, ma per quanto cambi i  
parametri che dicevo, sembra ignorarli.

Suggerimenti?

Grazie in anticipo e a presto.

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [October 15, 2010, 12:14pm UTC](https://www.ruby-forum.com/t/rails-e-cambio-di-root/197502/2 "2010-10-15T12:14:52Z")

</div>

Nel config/routes.rb trova e modifica questa rotta:

# You can have the root of your site routed with “root”

# just remember to delete public/index.html.

root :to =\> “ilcontroller#laactionchevuoi”

Hai cancellato /public/index.html? 🙂

Paolo

2010/10/15 Daneel O. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid):

> web, ma o guardo nei posti sbagliati o capisco male le istruzioni… se  
> 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)

–  
“… static analysis is fun, again!”

OWASP Orizon project leader, [http://github.com/owasp-orizon](http://github.com/owasp-orizon)  
Owasp Italy R&D director

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [October 15, 2010, 2:24pm UTC](https://www.ruby-forum.com/t/rails-e-cambio-di-root/197502/3 "2010-10-15T14:24:46Z")

</div>

Paolo P. wrote in post #950408:

> Nel config/routes.rb trova e modifica questa rotta:
> 
> # You can have the root of your site routed with “root”
> 
> # just remember to delete public/index.html.
> 
> root :to =\> “ilcontroller#laactionchevuoi”
> 
> Hai cancellato /public/index.html? 🙂

Sì, fatto 🙂

Ah, ho rails 2.1, la sringa è:

map.root :controller =\> ‘controller’, :action =\> ‘action’

Formulo meglio il problema.

L’applicazione gira su: [http://macchinalocale:3000/](http://macchinalocale:3000/) , fin qui tutto  
bene.

Devo renderla raggiungibile dall’esterno, quindi pensavo di fare così:  
dato che abbiamo già il sito aziendale esposto, pensavo di fare in  
maniera che andando su: [Sitoazienda.it | DomainDirect](http://www.sitoazienda.it/applicazione) si  
vedesse l’applicazione in locale. Su Apache2 della macchina esposta ho  
quindi aggiunto sul file di configurazione apposito:

```
ProxyPass /applicazione http://macchinalocale:3000/
ProxyPassReverse /applicazione http://macchinalocale:3000/
ProxyPreserveHost on

```

però non funziona. Ho fatto altre prove con  
[http://macchinalocale:3000/applicazione](http://macchinalocale:3000/applicazione) , ma non va comunque,  
logicamente…  
La mia intenzione quindi sarebbe di riuscire a “spostare” l’applicazione  
in rails in modo che lavori sotto  
[http://macchinalocale:3000/applicazione](http://macchinalocale:3000/applicazione) , in questo modo in teoria  
sarebbe raggiungibile correttamente… sbaglio? Se non sbaglio, come  
devo fare?

---

<div class="post-metadata">

**Author:** ![daneel\_olivaw](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/d/58f4c7/32.png) [@daneel\_olivaw](https://www.ruby-forum.com/u/daneel_olivaw)\
**Post date:** [October 15, 2010, 4:40pm UTC](https://www.ruby-forum.com/t/rails-e-cambio-di-root/197502/4 "2010-10-15T16:40:46Z")

</div>

Daneel O. wrote in post #950437:

> Paolo P. wrote in post #950408:
> 
> > Nel config/routes.rb trova e modifica questa rotta:
> > 
> > # You can have the root of your site routed with “root”
> > 
> > # just remember to delete public/index.html.
> > 
> > root :to =\> “ilcontroller#laactionchevuoi”
> > 
> > Hai cancellato /public/index.html? 🙂
> 
> Sì, fatto 🙂
> 
> Ah, ho rails 2.1, la sringa è:  
> [bla bla bla]

A forza di tentativi più o meno ragionati (con “meno” \>\> “più”), sono  
riuscito a farlo funzionare all’incirca come dico io:

su routes.rb:

map.connect ‘applicazione/:controller/:action/:id’  
map.connect ‘applicazione/:controller/:action/:id.:format’

su apache2:

```
ProxyPass /applicazione 

```

[http://macchinalocale:3000/applicazione](http://macchinalocale:3000/applicazione)  
ProxyPassReverse /applicazione  
[http://macchinalocale:3000/applicazione](http://macchinalocale:3000/applicazione)  
ProxyPreserveHost on

Ora basterebbe sistemare la map.root che non funziona, ma per ora può  
bastare anche così 🙂

Se ci sono soluzioni più eleganti o qualcuno in preda ad un attacco di  
generosa prolissità didattica vuole dire la propria in merito, ben venga  
🙂

Grazie e alla prossima 🙂

Daneel O.
