1

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?

3 Answers 3

2

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]
0

My suggestion is to check the Apache Rewrite log, usually located in /var/logs/apache2. This will tell you what the rewritten result is and may help you identify why this is returning 404's for you.

You may also post the results in your log as this may help us determine the problem.

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

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .