Hi there,
I have a very basic rails application (basically following the O'Reilly tutorial[1], up to the first controller). This application works fine if accessed via the WEBRick ./script/server. However, it does not work via mod_fcgid.
The mod_fcgid version of the server is live so you can see for yourself, but attempting to access <http://railsdemo.alcopop.org/my_test/> results in
Routing Error Recognition failed for ""
The strange thing is, if you pad out the URL with some characters at the beginning, it works. At the time of writing, <http://railsdemo.alcopop.org/1234569870/my_test/> results in
Routing Error Recognition failed for "est/"
And <http://railsdemo.alcopop.org/123456980123456/my_test/> works.
The number of characters you have to use varies. The first time I discovered this, it only took 10 (1234567890) to get it to work.
I'm using apache 2.0.54, mod_fcgid 1.05, rails 1.1.6, libfcgi-ruby1.8 version 0.8.6 and ruby 1.8.2.
My apache configuration is available at <http://alcopop.org/temp/railsdemo.alcopop.org.conf>\.
The development.log shows the following for the first example (accessing just /my_test/):
Processing Base#index (for 82.39.141.17 at 2006-12-17 12:06:31) [GET] Session ID: 6803399c5f598e95fa3ab44671fbaced Parameters: {}
It shows the following for the padded case that worked:
Processing MyTestController#index (for 82.39.141.17 at 2006-12-17 12:06:34) [GET ] Session ID: 6803399c5f598e95fa3ab44671fbaced Parameters: {"action"=>"index", "controller"=>"my_test"} Completed in 0.00094 (1062 reqs/sec) | 200 OK [http://railsdemo.alcopop.org/1234 56980123456/my_test/]
So the Parameters hash is not being populated properly.
This feels to me like a tough problem, but if anyone could hint at
which bit was perhaps broken (apache2, mod_fcgid, rails, etc.) that
would at least help to narrow down the search
[1] Radar – O’Reilly