Хорошо, предполагая, что это только две строки, я вижу следующее:
Redirect 301 /blog/?p=1 <a href="http://www.new-site.com/blog/2000/10/myslug/" rel="nofollow">http://www.new-site.com/blog/2000/10/myslug/</a>
RedirectMatch 301 ^/blog(/)?(.*)$ <a href="http://www.new-site.com/blog/" rel="nofollow">http://www.new-site.com/blog/</a>$2
В основном это одно и то жето есть при совпадении перенаправить все запросы блога на новый сайт навсегда.
Со вторым вы говорите совпадение с начала строки /blog
с возможной косой чертой, которую вы будетезахват и, возможно, больше информации, которую вы также захватите, а затем просто поместите всю эту информацию в blog/extra-picked-up-info
.Это может быть частью проблемы, или вы можете обойти ее, переупорядочив директивы и посмотрев, получает ли нижняя директива приоритет.
RedirectMatch 301 /blog(?:/\?)?(.*)?$ http://www.new-site.com/blog/$1
Redirect 301 /blog/?p=1 http://www.new-site.com/blog/2000/10/myslug/
В противном случае вам придется пересмотретьваши URI и найдите что-то более уникальное.