MediaWikiを完全にCGIとして動かす

提供: 何かしら図書館

xreaにMediaWikiをインストールした場合の話です。

[編集] 手順

以下の方法は、既にMediaWikiをインストールした状態を想定しています。なお、.htaccess

AddHandler application/x-httpd-phpcgi .php

を忘れずに書き込んでおいてください。

  1. index.php5ファイルのリネーム、もしくは削除
  2. index.phpをindex.cgiにリネーム
    index.cgiの先頭に1行を追加
    #!/usr/local/bin/php
  3. index.cgiのパーミッションを755に変更
  4. LocalSettings.phpの$wgScriptExtension値をphpからcgiに変更
    #$wgScriptExtension  = ".php";
    $wgScriptExtension  = ".cgi";

以上でMediaWikiをCGIとして動作させることが出来ます。

[編集] URLを整形したい

上記の方法でMediaWikiを表示した場合、"/index.cgi?title=記事名"というようなURLになっているとおもいます。これをもっとスマートなURLに変更する方法です。なお、以下の方法は/wikiというルートディレクトリにインストールした場合です。

まず、LocalSettings.phpに以下を書き込みます。

$wgScript           = "$wgScriptPath/index.cgi";
$wgScriptPath       = "/wiki";
$wgArticlePath      = "/wiki/$1";

$wgScriptPathはindex.cgiがどこにあるのかを示すもので、$wgArticlePathはURLとして表示する場合の記事の場所です。$wgScriptはあってもなくても動きますが、これを変更しないとextensionを入れたときに旨く動作してくれない場合があるので、書き足しておいた方がいいでしょう。

次に、.htaccessに以下を書き込みます。

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)$ /wiki/index.cgi?title=$1 [L,QSA]

これで、"/index.cgi?title=記事名"ではなく"/記事名"で表示されるはずです。

ブラウザ
Google AdSense
個人用ツール