I’m just getting started with Ruby on Rails, and I’m having to make some
modifications to an existing system and RoR app that uses lighttpd with
the RoR web app.
Basically, what I’m trying to do is somehow add a header area to all the
web app pages. Since this RoR is part of a 3rd party product (“COTS”),
I’m not able to change any of the Ruby/RoR code, so what I’m trying to
do is use an HTML page with an IFRAME, where the IFRAME URL points to
the RoR web app.
With the original configuration, the RoR web app was accessed using URL
So, what I initially did was put a test HTML page (public/test.html) in
the public directory, and when I go to http://myhost.com:3000/test.html,
it worked, i.e., I get a page with my header with the RoR web app
content below the header.
To try to do this, I renamed my public/test.html file to
public/index.html, and then changed the server.indexfiles parameter in
the lighttpd.conf from:
server.indexfiles = ( “dispatch.fcgi”, “index.html” )
server.indexfiles = ( “index.html”, “dispatch.fcgi” )
(i.e., I reversed the order so that “index.html” would be found first,
ahead of “dispatch.fcgi”).
However, after bouncing lighttpd, when I access http://myhost.com:3000,
I get a page with my header stuff, and under that a “File not found”.
The lighttpd error log file doesn’t show any errors, but in
production.log, I see:
ActionController::RoutingError (Recognition failed for
Quite frankly, I don’t know if this is some problem in the lighttpd
configuration, or with RoR, but the error in production.log above seems
to indicate, I think, that Rails can’t find the public/dispatch.fcgi,
but that file is definitely there, so I’ve been stumped by this :(…
Can anyone tell me what might be wrong, and how to get this working?
Thanks in advance,