There is a good reason to use www.domain.tld as your primary site, Cookie less subdomains for static content.
Today i will show you a rewrite that will redirect you to www.domain.tld if no subdomain is used:
RewriteEngine On RewriteCond %{HTTP_HOST} !^(.+\.)([a-zA-Z0-9-]+\.([a-z]{2,4})|co\.uk|me\.uk|org\.uk|priv\.no)$ RewriteCond %{HTTP_HOST} ([a-zA-Z0-9-]+\.([a-z]{2,4})|co\.uk|me\.uk|org\.uk|priv\.no)$ RewriteRule ^(.*)$ http://www.%1/ [L,QSA,R=301]
So let me explain to you what this rewrite does:
First thing we do is turn on the rewrite engine.
The following line could be translated to: “if the domain does not have a subdomain”
RewriteCond %{HTTP_HOST} !^(.+\.)([a-zA-Z0-9-]+\.([a-z]{2,4})|co\.uk|me\.uk|org\.uk|priv\.no)$
This line saves the domain to the variable %1:
RewriteCond %{HTTP_HOST} ([a-zA-Z0-9-]+\.([a-z]{2,4})|co\.uk|me\.uk|org\.uk|priv\.no)$
And last but not least we do the write to www.domain.tld and include the querystring so that we don’t break old links.
The redirect is ofc a permanent redirect, so make sure to clear your browser cache if you make any changes to the rewrite.
RewriteRule ^(.*)$ http://www.%1/ [L,QSA,R=301]