Someone has incorrectly linked to some of my urls causing 404 erros in Google Webmaster Tools.

Here is an example

Linked URL: http://www.example.com/foo-%E2%80%8Bbar.html

Correct URL: http://www.example.com/foor-bar.html

I would like to 301 redirect any instance of this kind of incorrect linking to the correct URL. I have tried the following but it generates 404 Errors site wide.

Options +FollowSymLinks
RewriteEngine on    
RewriteRule ^foo-(.*)bar\.html$ http://www.example.com/foo-bar\.html? [L,R=301]

Could anyone let me know what I am doing wrong?


Well, for starters, the regex

foo-(.*)bar\.html

will also match "foo-bar.html", which is not good and causes a rewrite loop.

You want this instead:

foo-(.+)bar\.html

And in general, the rewriterule should be:

RewriteRule ^/foo-(.+)bar\.html$ /foo-bar.html? [L,R=301]