Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question

3 Answers 3

up vote 1 down vote accepted

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]
share|improve this answer

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.

share|improve this answer
RewriteEngine on
RewriteRule ^foo-(.*)bar\.html$ /foo-bar.html? [L,R=301]
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.