MediaWikiの小文字対策。

MediaWikiでは、デフォルトでは大文字小文字の区別を全くせず、全て大文字に統一しようとする。
たとえば、"iPod"で記事を作ろうとすると、"IPod"となる。


そこで、以下のオプションを使う。

$wgCapitalLinks = true;

しかし、これだと"iPod"という記事を作ることは出来ても、"IPod"という記事が別個存在できることになる。つまり、大文字小文字の区別ができるようになるが、それは別の記事ができるということを意味している。


そこで、以下のオプションを使うと、望ましい結果が得られる。

$wgRestrictDisplayTitle = false;
$wgAllowDisplayTitle = true;

後者はデフォルトでtrueとなっているので、前者について説明する。
前者は、任意の文字列をページタイトルに使うことを制限するというもの。
MediaWikiでは、データベース上の名称と合致させる目的で、通常ページタイトルを変更することを許していない。
だが、前者のオプションを利用すると、ページ名を記事のソースで書き換えることが出来るようになるのだ。
iPodの例で言うと、URL自体は~/IPodとなってしまうのだが、記事中に{{DISPLAYTITLE:iPod}}と書き入れるだけで表示の上では"iPod"と表示されるようになる。


この方法を使えば、$wgCapitalLinksよりはスマートな解決が出来るが、それでも欠点がある。それは、誰でもタイトルを変更することが出来るからだ。「誰かがタイトルを全く別のものに変えてしまうかもしれない!」と思うかもしれないが、性悪説で成り立っているとは思えないし、そもそもそんなオプションを使っているかどうかなんて外からでは分からないのだから、そこまで気にする必要はないと思う。