[TYPO3-english] Multi-language rewriting/caching issues

Thomas Skierlo pubtsk1 at pix-pro.eu
Wed Mar 14 20:50:01 CET 2012


Hello again,

the solution from my last message works properly, but it doesn't feel 
good. It mixes semantic and parameter based rewriting, depends on an 
active realUrl and certainly will lead into problems some day. A real 
solution only would check if an L-parameter is part of the querystring 
and, if not, force one by adding &L=0, the proper value for the default 
language.

So, what I need is a translation of the following semantic rule to a 
parameter based one:

RewriteRule !^(nc/)?(en|de)/? http://%{HTTP_HOST}/en%{REQUEST_URI} [R=301,L]

In human words: Check the querystring. If no L-var is set, force L=0, if 
any L-var is set, leave it untouched.

We don't have to take care of the no-cache parameter (nc), since if it 
is part of the querystring, it still will be after the manipulation. The 
final rule would get no 301, just an R,L. It would solve the default 
language problem and would work with or without realUrl, avoiding DC.

I went back in this mailing list until 2006, finding 8 occurances of the 
same topic. All of them came up with a similar solution, having the very 
same inconsitancies as mine. Maybe a rewriting expert could help to 
settle this topic forever?

Thomas



More information about the TYPO3-english mailing list