Вы могли установить Пользовательское сообщение NDR, чтобы обработать это или лучше все еще взглянуть на то, что предложил Helvick, который является, использует Транспортные Правила.
Ну, для начинающих, regex
foo-(.*)bar\.html
будет также соответствовать "foo-bar.html", который не хорош и вызывает переписать цикл.
Вы хотите это вместо этого:
foo-(.+)bar\.html
И в целом, rewriterule должен быть:
RewriteRule ^/foo-(.+)bar\.html$ /foo-bar.html? [L,R=301]
Мое предложение состоит в том, чтобы проверить, что Apache Переписывает журнал, обычно располагаемый в/var/logs/apache2. Это скажет Вам, что переписанный результат и может помочь Вам определить, почему это возвращается 404 для Вас.
Можно также отправить результаты в журнале, поскольку это может помочь нам определить проблему.