Htaccessでワードプレスの?付きURLを特定のHTMLページに301リダイレクトする方法

ワードプレスで作成したページで、?の付いたクエリ文字列「?p=」のURLから、特定のHTMLページのURLに301リダイレクトさせたいときの方法を紹介します。

使うのは、mod_rewriteです。

たとえば、http://sample.net/?p=123 というページから、http://sample.net/entry/abc.html というHTMLページにリダイレクトさせたい場合、.htaccessに以下のように記述します。

念のために言うと、.htaccessの置き場所は、http://sample.net/.htaccessです。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{QUERY_STRING} ^p=123
RewriteRule ^$ http://sample.net/entry/abc.html? [R=301,L]
</IfModule>