You should first make sure all your links use the "canonical" version of that page. i.e
www.example.com
You will never get a clean index if parts of you website are linking to those other variants.
Once you've sorted it out you need to make the variants cause 301 redirects to that canonical URL.
You want to redirect to the
www version of the domain. To do that, this .htaccess code should work:
Code:
RewriteCond %{http_host} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC,L]
Coincidentally, I've just written an online tool to generate the other redirects you want:
http://seo-website-designer.com/HtAc...rect-Generator
If you feed in the old,new pages to the tool it will generate the .htaccess code you need. i.e.
Code:
index.php, /
Home/, /
will create the .htaccess code you need (I've also included the
www redirect and your SEF code for completeness)
Code:
# Needed before any rewriting
RewriteEngine On
### www Redirect
RewriteCond %{http_host} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,NC,L]
### Built using the .htaccess 301 Redirect Generator from Web Site Advantage
### http://seo-website-designer.com/HtAccess-301-Redirect-Generator
### Place after 'RewriteEngine On' and before any CMS specific rewrite rules
## 301 Redirects
# 301 Redirect 1
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^index\.php$ / [R=301,NE,NC,L]
# 301 Redirect 2
RewriteCond %{QUERY_STRING} ^$
RewriteRule ^Home/$ / [R=301,NE,NC,L]
### The SEF code
Options +FollowSymlinks
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* home.php [L]
Tell me if it works. I've only just created the tool so it's not been tested in a million scenarios yet!