Caching + routing

Newby here!

I have an application that has pages that are translated. Clicking on
flags changes the language. That is working nicely, but, for the
‘guest’ area I would like to cache these pages as they never change.
My problem is that the page has the same url for all the languages.
I have an action that does this:
def set_lang

Then the page renders content based on the language set via

By using routes is it possible to make the page cacher think the pages
are different? Perhaps by appending the current language to the front
of the url? (eg /en/controller/action). I am in over my head as far as
routing and how to adequately do this.

What I was thinking was this:

  • default route sends user to /language/guest/welcome
  • set language redirects to /language/(current page)

Would this work, and if so, how on earth do I code it!

Sorry for the rambling email… any insight or solutions most most


Could I perhaps use url rewriting to put a subdomain on each language?