わかりました、これらがたった2行であると仮定すると、私が見るものはこれです:
Redirect 301 /blog/?p=1 http://www.new-site.com/blog/2000/10/myslug/
RedirectMatch 301 ^/blog(/)?(.*)$ http://www.new-site.com/blog/$2
これらは基本的に同じことを言っています。つまり、一致すると、すべてのブログ クエリが新しいサイトに永久にリダイレクトされます。
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 を再調査して、より一意に識別できるものを見つける必要があります。