 <p>FIrst thing first don't use <code>http://htaccess.madewithlove.be/</code> test as that is very reliable. Better to test on your localhost.</p> <p>Now your rules also need correction. Try this code:</p> <pre><code>RewriteEngine On RewriteBase / # match the subdomain RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^fr\.example\.com$ [NC] # Make sure I don't already have a "lang" in the query string RewriteCond %{QUERY_STRING} !(^|&amp;)lang= [NC] RewriteRule ^(.*)$ $1?lang=fr [L,QSA] # match the subdomain RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC] # Make sure I don't already have a "lang" in the query string RewriteCond %{QUERY_STRING} !(^|&amp;)lang= [NC] RewriteRule ^(.*)$ $1?lang=en [L,QSA] </code></pre>