2011/1/17

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

(2012-10-5)
売り上げランキング: 14,705
100円