I think relying on front-end techniques would be a bad move — difficult to maintain, unreliable, and presenting a fundamental navigation model with an unnecessary conflation of content and function: I would handle this either through session IDs, or query strings (perhaps a better idea — copied or shared links would retain their original context) to be interpreted on the back-end — whichever the case, a generic variable string or function could then be used to output relevant links as and when they occur. However I have to say that the information architecture may be fundamentally flawed — the notion of a home page is subverted by this model: are you sure you want to go to these elaborate and unconventional lengths to rob the user of an unambiguous introductory site root? I can understand a generic use case for presenting different contextual content in some parts of the homepage, or offering a sub-page hub for the specific requirements… But destroying the ubiquitous notion of a unique homepage, especially if most of the site's material doesn't distinguish user types, sounds like it could get problematic both from a maintenance and user perspective…? Sent from my iPod On 5 Nov 2010, at 17:51, Bill Moseley <moseley at hank.org> wrote: > Say I have a site targeted at different types of users -- perhaps a school > site for students, teachers, and administrators. > > There's a generic index.html home page. Now, we want to send out email to > the three types of users, linking them to a targeted home page: > student.html, teacher.html, and admin.html. Those pages will act as the > site's home page for each type of user. > > All the other pages are the same -- all three user types will see the same > /about.html, for example. > > All the pages on the site have a "home" link. What we want is if someones > starts on student.html then the "home" link will take them to back to > student.html, not the generic index.html page. > > A few options I can think of: > > 1) set a cookie to remember the user type (set when visiting student.html, > admin.html, teacher.html) and then: > a) rewrite every "home" link when rendering the page to point to their > custom home page, or > b) do a redirect to their custom home page if /home.html is requested and > a cookie is set. > > 2) Use a URL prefix like /student/index.hml and a rewrite rule so that > /student/about.html, /teacher/about.html, and just /about.html all point to > the same page. > > 3) Use a query parameter, but would have to make sure all links on every > page included the query parameter. > > > > > -- > Bill Moseley > moseley at hank.org > -- > > * * Please support the community that supports you. * * > http://evolt.org/help_support_evolt/ > > For unsubscribe and other options, including the Tip Harvester > and archives of thelist go to: http://lists.evolt.org > Workers of the Web, evolt !