Meu aplicativo Ruby on Rails só funciona se o endereço contiver a porta

2

Eu tenho um aplicativo Ruby on Rails que funciona bem no meu notebook ( link )

  • Eu fiz o upload no meu servidor de hospedagem,
  • criado com o aplicativo CPanel X, o URL é link
  • criou uma reescrita do link para o link
  • e começou.

Se eu escrever no meu navegador link ou link todas as páginas funcionam como esperado. Mas se eu escrever o link ou o link na primeira página é exibido, mas sem nenhum css ou imagens (assim como não os encontraria). Eu posso ver todo o texto (mesmo o texto do meu banco de dados MySQL), mas sem formato. E se eu clicar em qualquer link, recebo uma página de erro como esta:

Not Found

The requested URL /some_controller was not found on this server.

Additionally, a 404 Not Found error was encountered while trying to use an ErrorDocument to handle the request.

O que devo fazer para que meu site funcione sem escrever a porta na barra de endereço?

O conteúdo do meu arquivo /public_html/.htaccess é

RewriteEngine on
RewriteCond %{HTTP_HOST} ^example.com$ [OR]
RewriteCond %{HTTP_HOST} ^www.example.com$
RewriteRule ^/?$ "http\:\/\/127\.0\.0\.1\:12007%{REQUEST_URI}" [P,QSA,L]

que eu acho que foi gerado pelo CPanel Rewrites.

    
por True Soft 16.03.2010 / 20:42

1 resposta

3

Você pode acessar o recurso / some_controller diretamente se apontar seu navegador para ele? O mesmo vale para seus arquivos CSS. Você pode postar um trecho da fonte HTML que inclui o HREF ou o SRC para seus links / CSS?

Editar ...

Agora que vejo essa regra de reescrita, é claro que não funciona.

^/?$

Isso só corresponderá a uma URL em /. Altere para:

RewriteRule ^(.*)$ http://127.0.0.1:12007/$1 [P,QSA,L]

E isso deve funcionar. Note que o acima irá fazer proxy em todas solicitações para o Rails. Você provavelmente deve hospedar sua mídia fora do controle do Rails, mas isso é um exercício para o leitor.

    
por 16.03.2010 / 22:17