PHPで配列から.htaccessファイルを生成してみた
昨年末、このブログ、固定リンクを数字に変更したんです。幾度となく引越を繰り返してきて、ポスト名が重複していたりなんだり。が、変更のリダイレクト用ファイルを作ろうにも、記事が6000件以上あると。データベースから記事のテーブル、CSVでエクスポートして秀丸マクロで整形なども試したのですが、時間がかかり過ぎてやってられずに頓挫。放置していたのですが、今日phpMyAdmin見ていましたら、PHPの配列としてMySQLのテーブルをエクスポートできるじゃないですか!というわけで、そこから.htaccessファイルを作ったスクリプト。
include 'wp_posts.php'; foreach ($wp_posts as $key => $post) { $id = $post['ID']; $url = $post['post_name']; $date = $post['post_modified']; $url = $url.'.php'; $date = substr($date,0,7); $date = str_replace('-','/',$date); $path = '/'.$date.'/'.$url; $permalink = 'https://ex-tra.jp/kosukekato/archives/'.$id.''; $redirect = 'Redirect permanent '.$path.' '.$permalink.'n'; $file = fopen('/path/to/htaccess.txt','a+'); $write = fwrite($file,$redirect); fclose($file); }
なんせ、参照する配列が記述されているPHPファイルが数万行あるので、途中困ったのですが、よくよく考えたら、2記事分ぐらいのデータ作っておいて、それでテストして、本番ヨーイドンすればいいわけですね。というわけで、見事.htaccessファイル完成!!!いやあ、頑張った。こんなんが出力されます。
Redirect permanent /2007/10/post.php https://ex-tra.jp/kosukekato/archives/4
まだ、リンク切れもあると思いますが、これで随分減ったのではないかと思います。いやあ、ペンディングにしている問題を解決できると気持ちが良いですね。

加藤 康祐 / 企画・設計
プランナー、デザイナー。加藤康祐企画設計代表。Webデザインを入り口に、2005年よりフリーランスとしてのキャリアスタート。主な仕事としてベンチャー企業でのサービスのUXデザイン、独法との防災メディアの運営、社会的養護の子どもたちの自立を支援するNPOのサポート。ラグビーと料理、最近イラスト。
是非、フォローしてください!
Twitter / Instagram
売り上げランキング: 14,705
100円
フリーランスとして働き始めるってどういうことだったのか?フリーランスとして働くってどういうことなのか?フリーランスが目指すことってなんなのか?5年間の自分の経験から書きました。(2010年執筆)