ワードプレスで作成したページで、?の付いたクエリ文字列「?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>