とりあえずブログ

とりあえずのブログ開設

オーマイニュースで旧記事を読む方法

2007-04-13 16:26:07 | Weblog
ご存知のようにオーマイニュースは2007/04/10より新システムで稼動中です。

旧システムでは、URLは次のいずれかの形式でした。
・http://www.ohmynews.co.jp/News.aspx?news_id=記事番号
・http://www.ohmynews.co.jp/omn/News.aspx?news_id=記事番号

これを新システムで読むには次のようなURLに変換すればOKです。
・http://www.ohmynews.co.jp/news/20070410/記事番号
(実は上記のうち 20070410 の部分は数字であればなんでもよい)

一応、上記のように手作業で旧記事を読むことはできるのですが・・・

既にWeb上にはオーマイニュースへのリンクを含む情報が多数あります。
これに対する考慮がないのはさすがにひどいと思います。
※現在は対応されています
世の中にはリンクを辿ってオーマイニュースにたどり着く人は多数いるというのに・・。

でも中の人も忙しいでしょうから代わりに作ってみましたw。
(て言ってもすぐにできるようなものだけどね)

次のようなスクリプトを DOCUMENT_ROOT/News.aspx と DOCUMENT_ROOT/omn/News.aspx に配置するだけ。

---News.aspx ここから---
#!/usr/bin/perl
$q = $ENV{"QUERY_STRING"};
@qa = split(/&/, $q);
$n = "";
foreach $i (@qa) {
        @p = split(/=/, $i);
        if (@p[0] == "news_id") {
                $n = $p[1];
        }
}
print <<EOF;
Status: 301 Moved Permanently
Location: http://www.ohmynews.co.jp/news/20070410/$n
Content-Type: text/html

<p><a href="http://www.ohmynews.co.jp/news/20070410/$n">Moved.</a></p>
EOF

---News.aspx ここまで---

CGIで行う場合は
・必要なディレクトリ(/ と /omn)にOptions ExecCGI権を追加
・ハンドラーの追加(ex. AddHandler cgi-script .aspx)
・配置したNews.aspxに実行権を追加
が必要です。

mod_perlで行う場合は調べていませんが似たようなものでしょう。
(サーバーの設定によるがたぶん cgi-script ⇒ perl-script になるくらい)

実のところ perl はほとんどやったことがないので間違っていたら笑ってやってください。

できれば対応してね♡

[2007/04/14 00:10]追加
現在、確認したら対応しているようです。
ちょっと感心した。
お疲れ様♡

[2007/04/16]若干修正
もうそろそろネタ切れ⇒放置予定なので見直中です。注釈を追加。