rewrite 導入

ブラウザのブックマーク(お気に入り)に入れるほどでもないけど、何となくこれは取っておこうと思うアドレスをどうしようか悩んでいた。あとで見返すかもしれない、そしてほとんど見返すことではないであろうアドレスである。 こんなのをいちいちブックマークに登録していたらキリがない。 で、思いついたのが「はてなブックマーク」って自前で運営できないのかな、といういことだった。
それで色々捜した結果、Scuttle という CGI に出会った。
これはソーシャル・ブックマークを自前で運営できるシステムだ。
設置自体はすぐにできた。登録すると、ちゃんとスクリーン・ショットも表示してくれる。イイ感じじゃないか!
ところが、日本語が通らない。いや、正確に言うと、「検索」と「タグ」に日本語を使うとちゃんと表示されないのだ。
設定とかを見直すも、特に問題ない……。困ったなぁ……とりあえず半角だけで運用するかぁ、ということでこの時は日本語の使用を諦めた。

さて、それから数時間経って、ちょっと頼まれた仕事があり、WordPress でサイトを構築していた。でね、こっちでは Rewrite を使うことにした。WoredPress っていうのは CGI なので基本的にサイトを表示するときは、アドレスが「プログラムのファイル名+表示したい記事のパラメータ」と言うことになる。 プログラムのファイル名は、index.php だ。この後ろに ? をつけて表示したいカテゴリや記事の番号なんかを指定していく。でもそれだとウェブページのアドレスっぽくない。そこでそれらしくさせる方法がある。
Rewrite といってウェブページっぽくなってるアドレスを、プログラムのファイル名+パラメータに書き換え(Rewrite)てくれる機能だ。
たとえば TAMA Networks のエロゲの記事は、https://amatsukami.jp/eroge/ でアクセス出来るが、これの実体は https://amatsukami.jp/?page_id=3385 である。 ボクは「プログラムのファイル名+パラメータ」でいいやって思ってたので、Rewrite 機能を使ってなかったんだけど、その頼まれごとで使う必要が出てきたので、じゃぁついでに TAMA Networks でも仕掛けておくかーと思って設定してみたのである。

ところが、これがまともに動かない。 なんだこれー!? で、色々実験してみると、日本語のページ名だと動かないことがわかった。 あれ? これってひょっとして、上の Scuttle と同じ原因?

と言うわけで、検索したらすぐに関連記事をみつけた。

パッチを当てると直るらしい……ということはバグ?(ぁ
あとレジストリもいじる必要があるようだ。
この設定をしたら、ばっちり Scuttle でも日本語が通るようになった。 いえーい!
そんなわけで、ボクが日頃気になったネタとか笑ったサイトとかを「お気に入り」に公開しました。また、TAMA Networks 自体もプログラムの名前+パラメータから、普通のサイトっぽくなりました(ぁ

 

WordPress とスタッドレス・タイヤ(何

相変わらず WordPress をいじっている。
テーマ(デザイン)さえ作っておけば、あとは HTML が解らなくても更新出来るのはよい。しかも WordPress には様々な関数が用意されているので、テーマの中にそれを仕込んでおけば色んなことが出来る。
とまぁ、ほとんど WordPress については理解したんだが、rewrite で変な現象が起きてしまった。それは、URI に必ず index.php というのが入ってしまうことだ。WordPress は rewrite と言う機能を使って、アドレスを自由に設定出来る。
本来、ブログのシステムというのはシステムに引数を渡して動く。例えば、2013 年 2 月 4 日の記事を見たかったら、amatsukami.jp/index.php?20130204 なんてアドレスになる。でもそれだとウェブページっぽくないので、amatsukami.jp/2013/02/04/ なんていう風に設定出来るのだ。amatsukami.jp/2013/02/04/ ってアクセスが来たら、サーバの方でこっそり amatsukami.jp/index.php?20130204 に書き換えているのだ。それが rewrite の機能である(ちなみに TAMA Networks では rewrite を動かしていない)。

事の発端は IIS で日本語の URI が通らないことだった。これが実は後に IIS のバグというのが判明するのだが、それと解らず、WordPress の方の rewrite の設定を変えてしまったのだ。ところがそれ以降、元の設定に戻しても index.php が必ずつくようになってしまった……orz。amatsukami.jp/2013/02/04/ ですむところが、amatsukami.jp/index.php/2013/02/04/ となってしまうのだ。
ネットで検索すると原因はいろいろあるようで、いろいろ試してみたんだけど今のところ解決出来ず。うーん、なんだこれ? ただ IIS はテスト用のサーバで、本番サーバは Linux の apache で動いているから特に問題はないのだが、テスト・サーバと本番サーバでURI が異なるという状態になってしまった。うーん、これは困った。これでは、テストで作ったコンテンツをそのまま本番にコピーすれば動くという環境じゃ無くなってしまうではないか。
まぁ IIS の方は合間合間に調べるしかないかなー。

BCQX6jQCYAACMUY
会社に着いたらスタッドレス・タイヤが届いていた。苦節一ヶ月。ようやくである。
スタッドレス・タイヤを買うことになったのは去年の 12 月、親父の PC の調子が悪いと言うことで呼ばれていたのだが、草津はすでに雪であり、スタッドレス・タイヤが必要だったからだ。そこで買いに行ったのだが、どこも売り切れだった。で、通販で買うことにし、12 月の終わりに注文したのだが、年明けになって「そのタイヤ、エスティマじゃ合わないかも」って連絡があり、選び直しになってしまい、さらにボクが自分が担当するブランドのウェブサイトとかで忙しくなってしまい、1 月の下旬に注文し直し、ようやく届いたと言うわけである。

今冬はこれで勝る!!!

ところでなんで前の車の時はスタッドレス・タイヤを持っていなかったかというと、走り屋仕様のスタッドレス・タイヤはすっげーたかくて、そのうち買おうなんて思っていたら車そのものを乗り換えてしまったでござる。いやー、エスティマのいい所ってとにかく大衆車ってことだよね。色んなパーツが安い。前の車なんて、車検でも毎回すごい金額だったので、エスティマになってからは(燃費以外)財布に優しい車だなーと思っている。

WordPress のテーマとか

カリカリと WordPress のテーマ用の PHP 書いたりしてた。
ボクが担当しているブランドのウェブサイト公開が近づいている。今までは HTML を書いていたんだけど、今回のブランドでは各プロジェクト・リーダーに更新させようと思っている。プロジェクト・リーダーは HTML や CSS に明るいわけではないので、更新のシステムに CMS を導入することにしたのだ。それが WordPress だ。 で、WordPress でブランド用のサイトのデザインを作っておき、ディレクタは WordPress を更新するだけでよいという方法を試すつもりだ。

ただ、うまく行くかどうかは解らない。と言うのも、エロゲ・ブランドのサイトを WordPress だけで作れるかどうか疑問な点がけっこうあるからだ。バナーだけのページとか作れるのかなぁ……?? 実はよく解っていない。

もう一つの懸念点はまったく違うテーマ(デザイン)をページごとに適用したい場合だ。WordPress では特定の記事のテーマを切り変えることが出来るがしかし、これは単純に今あるテーマにそのページ用のデザインを作るという方法をとっていて、まるごとテーマそのものを切り替えることができない。
エロゲではプロジェクトごとにオリジナル・サイトを用意することが多く、プロジェクトごとにデザインも何もかもが異なる。で、色々調べていると、どうやら WordPress はマルチサイト機能というのがあって、そもそも複数のサイトを一つの WordPress で構築出来るらしい。
モードは二つで、サブディレクトリ・モードとサブドメイン・モードだ。
サブディレクトリ・モードというのは、例えば、 amatsukami.jp が親だとしたら、amatsukami.jp/products/ とか amatsukami.jp/developments/ とかサブディレクトリで別のサイトを構築するモード。
サブドメイン・モードは、blog.amatsukami.jp とか tamaki.amatsukami.jp とかサブドメインで別のサイトを構築するモード。
このマルチサイト機能を使うと、各サイトごとにテーマが 0 から設定出来る。なので、まったく違うページも、一つの WordPress で出来てしまうのだ。これは便利!!
というわけで、本ちゃんのサーバはすぐに設定が完了した。それは本ちゃんのサーバが Apache だからだ。WordPress でマルチサイト機能を ON にすると Apache の設定ファイルも生成してくれる。だから、それをそのままサーバに設定すればよい。
ところが更新前のテストに使っているサーバは Windows Server で、そこに WordPress を入れている。マルチサイト機能を使うには rewrite という機能が必要だ。これはどういう機能かというと、URI を色々と内部で書き換えてくれる機能なのだ。例えばサイトを引っ越ししたときに、旧サイトから新サイトへアドレスをサーバ側で書き換えたり、CGI の引数をあたかも HTML の静的ページに見せたりとかそういうときに使う。
IIS には rewrite 機能があるものの、設定の方法が Apache と違う。で、結論から言ってしまうと、Apache の設定をそのまま IIS に設定する方法があるのだが、ボクはそれを知らずに一生懸命 WordPress の rewite の仕様を探してしまった……orz
rewite の仕様を読み、それから WordPress の書き換え後の URI を調べようとしたのだが、とにかくこの WordPress の書き換え後の URI について解説しているページが見つからなくて、あーでもないこーでもないと色々試行錯誤しつつ、だめだー 404 エラーになるーって途方に暮れていたのだ。
で、ふと IIS の rewrite の設定を見てたら、インポートって言うのがあった。よく見ると、.htaccess に書く Apache の設定をそのまま書けばそれがそのまま IIS の設定になるらしい。イヤン、もっと早く言ってよ!!!<お前の目が節穴なだけだ

ということで、無事、テスト・サーバでもマルチサイト機能が動くようになった。
で、まぁ色々とスキンもとりあえずトップページ用は完成したので、更新準備完了。
これから WordPress とは長いつきあいになりそうである。
紹介する曲は、アランフェス協奏曲。ギター協奏曲というクラシックではけっこう珍しい協奏曲。もっともこれをクラシックを認めない人も多いけど(笑)。その昔 Falcom の Brandish っていう RPG のオープニングはこれのパクリオマージュである(ぁ