Witam
Korzystam z hostingu który ma obsługę RoR. Niby wykonuję krok po kroku ale jakoś nie mogę odpalić aplikacji.
Co robię:
-upewniam się, zę FastCGI jest włączone
wrzucam pliki do folderu
-tworzę plik .htaccess w httpdocs/someapp/public
Umieszczam w nim:
RewriteEngine On
RewriteRule ^$ /public/index.html [L]
RewriteCond %{REQUEST_URI} !^/someapp/public
RewriteRule ^(.*)$ /public/$1 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ public/dispatch.fcgi/$1 [QSA,L]
W /public nie ma pliku htaccess więc nie mam nic do usunięcia
Tworzę plik dispatch.fcgi w /public a w nim linijka:
#!/usr/bin/ruby
Przepraszam, że tak łopatologicznie to tłumaczę, ale tak dokładnie mówi instrukcja, którą przerabiałem już nie wiem ile razy i nadal nie działa. W odpowiedzi otrzymuje stronę Not Found:
The requested document was not found on this server.
Co może być przyczyną takiego stanu rzeczy? Czy ja coś robię, źle czy to wina hostingu?
Z ciekawości zapytam co to za hosting ? FastCGI używało się 6 lat temu gdy nie istniało nic lepszego, teraz jeśli ktoś używa FastCGI do hostingu Railsów to raczej nie ma pojęcia o tym co robi. FastCGI jest wolne, zasobożerne i niestabilne. Tyle w tym temacie.
Co do Twojego problemu to nie wiem dokładnie dlaczego tak się dzieje (musiałbym zobaczyć cały konfig VirtualHost’a + strukturę aplikacji) ale zastanawia mnie dlaczego w RewriteRules wszędzie używasz public/…
Jeśli masz DocumentRoot ustawiony na “public/” to nie ma potrzeby przekształcania każego zapytania na “public/costam” bo “public” już jest założony.
Może dlatego dostajesz 404.
Ja kiedyś hostowałem jedną aplikację w taki sposób na Dreamhoście i działało dokładnie tak, jak piszesz… W pewnym momencie po prostu nabijaliśmy się, że to raczej SlowCGI i uciekliśmy na joyent.com, a potem już na swoje śmieci. Sorry za lekki OT.
[quote=hosiawak]Co do Twojego problemu to nie wiem dokładnie dlaczego tak się dzieje (musiałbym zobaczyć cały konfig VirtualHost’a + strukturę aplikacji) ale zastanawia mnie dlaczego w RewriteRules wszędzie używasz public/…
Jeśli masz DocumentRoot ustawiony na “public/” to nie ma potrzeby przekształcania każego zapytania na “public/costam” bo “public” już jest założony.
Może dlatego dostajesz 404.[/quote]
No właśnie najśmieszniejsze jest to, że dokładnie w ten sposób nakazuje manual panelu. Próbowałem również tak jak piszesz na jakimś etapie między desperacją, a waleniem głową w klawiaturę ale efektu nie było (ten sam error).
Generalnie plik w takiej formie jak wcześniej pisałem działa poprawnie gdy w public mamy statyczny index.html (czyli przekierowywanie działa poprawnie tj. www.somedomain.com/someapp wyświetla public/index.
Czyli stąd wniosek, że to hosting leci w kulki?
Co do samego hostingu - cóż ja mogę teraz już po fakcie zrobić oprócz spuszczenia głowy i potraktowania milczeniem własnej nieroztropności
Jak pisałem na każdym hostingu masz jakiegoś admina, zazwyczaj chętnie pomagają, w końcu każdemu na kliencie zależy pisz mail i niech zrobią. Manual może nie koniecznie jest do rails?