Dynamic 301's causing duplicate content
-
Hi, wonder if anyone can help?
We have just changed our site which was hosted on IIS and the page url's were like this ( example.co.uk/Default.aspx?pagename=About-Us ). The new page url is example.co.uk/About-Us/ and is using Apache.
The 301's our developer told us to use was in this format:
RewriteCond %{REQUEST_URI} ^/Default.aspx$
RewriteCond %{QUERY_STRING} ^pagename=About-Us$
RewriteRule ^(.*)$ http://www.domain.co.uk/About-Us/ [R=301,L]This seemed to work from a 301 point of view; however it also seemed to allow both of the below URL's to give the same page!
example.co.uk/About-Us/?pagename=About-Us
Webmaster Tools has now picked up on this and is seeing it a duplicate content.
Can anyone help why it would be doing this please. I'm not totally clued up and our host/ developer cant understand it too.
Many Thanks
-
Hi Neil, try this:
RewriteCond %{REQUEST_URI} ^/Default.aspx$
RewriteCond %{REQUEST_URI} ^About-Us/$ RewriteCond %{QUERY_STRING} ^pagename=About-Us$
RewriteRule ^(.*)$ http://www.domain.co.uk/About-Us/ [R=301,L]Hope this helps!
-
Would this stop example.co.uk/About-Us/?pagename=About-Us working or just stop Google from listing as a dupe?
-
If the above rules Rewrite rules work correctly (always check) then it will redirect both Google and humans.
Passing googles page rank from your old page to the new (well most of it anyway).
-
IN that case it didn't work. I was able to visit both urls.
-
Ok, maybe someone else will be able to pop in with some more info. Here's a post with a similar issue from Webmaster World:
-
Are you looking to redirect a single url or many similar URL's ?
-
Right I have done some research... As this was bugging me...Remove:
RewriteCond %{REQUEST_URI} ^/Default\.aspx$ RewriteCond %{QUERY_STRING} ^pagename=About-Us$ RewriteRule ^(.*)$ http://www.domain.co.uk/About-Us/ [R=301,L]And replace it with:
``` <code>RewriteCond %{QUERY_STRING} ^pagename=About-Us$ [NC] RewriteRule ^Default\.aspx$ http://www.domain.co.uk/About-Us/? [R=301,L,NC]</code> ``` Test it and let me know...Keith