MT4iを使っていた人が携帯サイトをURLごとWordPressに移行する方法

2011/06/19WordPressに関する記事mt4i, テクニック

ずっと悩んでいたことが @river24 に助けてもらって解決しましたので、これからMT→WPを目指す方のためにもメモしておきます。MT4iの引数付きURLと、WPのURLをきれいに1対1対応させる方法です。

MT4iのURLをWPにリダイレクトする

今回の移行にあたって、MT4iのURLは捨てようと思っておりました。というのも、MT4iのURLは

  • http://airoplane.net/m/index.cgi?cat=58&mode=individual&eid=4000

このように、カテゴリやらモードやらエントリIDやらの引数が付いているもので、今回のWPのようにエントリID以外のURLをもつページとの間で1対1対応はできない、と思っていたからです。

しかし、実は他のプラグインを導入していく中で、WPには

  • http://airoplane.net/?p=xxxx

というエントリIDによるURLが有効になっていると気がつきました。このURLにアクセスすると、そのエントリIDをもつエントリに勝手にリダイレクトされるのです。つまり、MT4iのURLからエントリIDが抽出できれば、転送することが可能になる…!というわけです。もちろん前提条件として、WPを携帯対応にしておく必要がありますよ!うちはKtai Style を使っております

.htaccessを使う

今回はレンタルサーバ運用であったため、方法には .htaccess を使いました。当初、RedirectMatch を用いて引数を抽出しようと試みていたのですが、どうもうまくいきません。そこでTwitterにて助けを求めたところ、@river24 が助け船を出してくれました。そしていろいろなやりとりの後、次の構文でキレイに転送が可能であるとの答えをいただけたのです!ちなみに以下は、/mt4i/ フォルダに MT4i がインストールされている時の書き方です。

<IfModule mod_rewrite.c>

RewriteEngine OnRewriteBase /mt4i/

RewriteCond %{QUERY_STRING} eid=([0-9]+)

RewriteRule . http://airoplane.net/?p=%1

</IfModule>

@river24 いわく、「RedirectMatchで一致可能なのは,クエリパラメタより前まで」ということで、これは知らなかったので本当に勉強になりました。そして助かりました!

例えば次のリンクを踏んでみていただけると、対応する現WPのURLに転送されると思います。いやあ、これはスマートだ…。

http://airoplane.net/m/index.cgi?cat=117&mode=individual&eid=4829

http://airoplane.net/?p=4829

ほんとうにありがとうございました!これでウェブマスターツールに出ているエラーも全て対応が完了したはず!インデックスよ、戻れw
PHP 逆引きレシピ (PROGRAMMER’S RECiPE)
4798119865

スマホ向けカメラセミナー開催のお知らせ

筆者が大宮にてスマホ向けのカメラセミナーを初開催することになりました。いままで全国で開催しており、好評を得ております内容を、よりパワーアップの予定です。みなさまのご参加をお待ちしております。 --- イベントタイトル「ちょっとしたコツで見違える!スマートフォンのカメラで子供をかわいく撮影しよう セミナー」 開催日時:9月1日(日) 10時〜12時 開催場所:さいたま市大宮の「貸し会議室 6F」(コワーキングスペース 7F内 ) 住所:埼玉県さいたま市大宮区宮町1-5 銀座ビル6階 地図:https://office6f.com/map/ 費用:通常チケット 3,000円 (早期割引、7F会員割引、2人ペア割引きあり) 【9/1開催】ちょっとしたコツで見違える!スマートフォンのカメラで子供をかわいく撮影しよう セミナー | Peatix