Some easy use of mod_rewrite
Here are some easy code snippets that comes in handy on all websites I set up. Consistent urls are important for search engines, so I have a few small code snippets to make sure everything works as planned.
Just insert one of the following blocks in your .htaccess file in your site root. Make sure you replace example.com with your own domain name, and also make sure that you leave the backslash in example\.com in the first line of the code.
# force www IN URL
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www\.example\.com [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]
# END force www IN URL
# force removal of www IN URL
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.example\.com$ [NC]
RewriteRule ^(.*)$ http://example.com/$1 [R=301,L]
# END force removal of www IN URL# force www IN URL
And here is a snippet that can forward users from one domain to another automatically. Nice to have if your site has got one or more aliases. Notice that all the domain aliases have [NC,OR] at the end of the line, while the last alias and_so_on.com just has [NC].
# forward from domain aliases
RewriteEngine On
RewriteCond %{HTTP_HOST} ^(www\.)?domain1\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?domain2\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?domain3\.com [NC,OR]
RewriteCond %{HTTP_HOST} ^(www\.)?and_so_on\.com [NC]
RewriteRule (.*) http://maindomain.com/$1 [R=301,L]
# END forward from domain aliases
One last thing: RewriteEngine On is just something you need to write once in your htaccess file, so if you use two of the above snippets, make sure you remove that from the second block.
[tags]htaccess,mod_rewrite,www,domainnames[/tags]

Pingback: » links for 2008-06-02 | Paul Cowles