WordPressで”?page_id=12″となっているページを”.htaccess”でリダイレクトする

2013年2月13日WordPress

本ウェブサイトのメニューを見直し、「ねんドル応援のーと」を追加しました。

メニューに並べる項目の関係で、"about"ページを、"home"に統合しました。

その際、今まで"about"ページに割り当たっていたURL(http://oichinote.com/?page_id=12)を、".htaccess"を書き換えて、"home"(http://oichinote.com/)にリダイレクトする様にしました。

# about
RewriteCond %{QUERY_STRING} ^page_id=12$
RewriteRule ^$ /? [R=301,L]

このコードを、Wordpressが作る".htaccess"の、"upload files"の前に挿入しています。
最初、リダイレクトがうまく行かずに、非常に苦労しました。

次のサイトで、ほぼ同じ事をされており、一発で解決しました。ありがとうございます。

RewriteRuleでのリダイレクト先に、"?"を付けるのが肝だそうです。URLでは、"?"以降が「クエリー文字列」として扱われます。

RewriteRuleのリダイレクト先に"?"を付けないと、クエリを引き継ごうとするそうです。この場合、"page_id=12″が引き継がれ、そのページを表示しようとします。

Posted by お市のかた