Joomla multilingual subdomain redirect/rewrite

clemclem nginx-forum at nginx.us
Fri Jun 15 14:46:10 UTC 2012


Hi all,

I have a multilingual Joomla website, whose URL currently look like the
following :
http://www.example.com/fr/test/test.html (note the FR posision after the
server name)

In order to achieve some SEO, I'd like my URLs to look like this :
http://fr.example.com/test/test.html
Ie: the langage code is now part of the subdomain, and removed from the
request_uri

I configured my DNS (fr.example.com and www.example) as A reccord
pointing to the same IP address.

I tried the following rule, that match the fr langage code and display
the correct URL, but I still have a 404 error because the server could
not find  the new rewritten page :

if ($request_uri ~* ^/(?<lang>fr)/(?<rest>.*)$ {
   rewrite ^ http://$lang.example.com/$rest? permanent;
}

Now, I'm looking for a way to tell the server to serve the page
/fr/test/test.html when the URL is http://fr.example.com/test/test.html
Should I add a location @lang {} directive ? or use proxy pass ?

I'm quite new to Nginx, and I'm lost :(

Moreover, I have several country codes such as: de, fr, cn, it... In
this post i'm focusing on the fr one, but i'm looking for a generic
solution.

Thanks !

Posted at Nginx Forum: http://forum.nginx.org/read.php?2,227568,227568#msg-227568



More information about the nginx mailing list