SO, it sounds like you have Apache (or another web server) in front of a pack of Mongrels, which should be serving static files. It sounds like your front-end web server is passing requests back to mongrel when this is not your intent. If so, it sounds like you have a misconfiguration in your front-end web server configuration.
Is this the case? == Will Green Saimon Moore wrote .. > Hi Nathan, > > The problem is that mongrel is serving the static file long before > rails knows anything about it. > > e.g. As I mention in the patch, you have a web server setup with > multiple virtual hosts each mapped to a separate doc root. > > example.com => /var/www/apps/example.com/public > > es.example.com => /var/www/apps/example.com/public/es > > Rails is using page caching and the cache is clean. > > 1st request: > > http://example.com => > > 1. web server looks for /var/www/apps/example.com/public/index.html > 2. passes request to mongrel which does the same thing, doesn't find > it and calls rails to render it. > 3. Now /var/www/apps/example.com/public/index.html exists as was > cached by rails. > > 2nd request: > > http://es.example.com => > > 1. web server looks for /var/www/apps/example.com/public/es/index.html > 2. passes request to mongrel which looks for /var/www/apps/example.com/ > public/index.html > (which unlike the web server, has only one doc root), > finds the file under /var/www/apps/example.com/public/index.html > (from the previous request) and serves that back before rails has even > got a chance to know about it. It has served the wrong file. > > I hope this example makes it clearer. > > With the ability to force mongrel to forward all requests it receives > to rails, on the second request rails (using the host info) would then > cache the index.html file into /var/www/apps/example.com/public/es/ > index.html. > > As I was writing this, I just thought of another possibility being > writing a custom mongrel handler, but as mongrel_rails is a handler > itself, it seems a bit pointless so I still think my patch has merits. > > Thoughts? > > Regards, > > Saimon > > > On Jan 24, 2008, at 4:42 PM, Nathan Vack wrote: > > > On Jan 24, 2008, at 6:13 AM, Saimon Moore wrote: > > > >> Hi all, > >> > >> I've just added a patch that I'd appreciate some feedback on: > >> > >> http://rubyforge.org/tracker/index.php? > >> func=detail&aid=17446&group_id=1306&atid=5147 > > > > I'll admit by cold-addled brain isn't following logic perfectly this > > morning, but I feel like this really would be better handled by the > > upstream HTTP handler giving enough information to your app so it > > serves the right cached file (or runs the right controller, or > > whatever). > > > > I think passing the Host: header along with the request_routing > > plugin (assuming you're on Rails) will make everything happy: > > > > http://agilewebdevelopment.com/plugins/request_routing > > > > Or am I missing something? > > > > -Nate > > _______________________________________________ > > Mongrel-users mailing list > > [email protected] > > http://rubyforge.org/mailman/listinfo/mongrel-users > > -- > Saimon Moore > Freelance Web Developer > (Available for hire - For details visit http://saimonmoore.net) > > Skype: saimonmoore > Yahoo IM: saimonmoore > Google IM: saimonmoore > > > > _______________________________________________ > Mongrel-users mailing list > [email protected] > http://rubyforge.org/mailman/listinfo/mongrel-users >
_______________________________________________ Mongrel-users mailing list [email protected] http://rubyforge.org/mailman/listinfo/mongrel-users
