2015年7月31日金曜日

MediaWiki でショートURL表記にする

MediaWiki をインストールして http://サーバ/mediawiki でアクセスできるようにした。

このままだと http://サーバ/mediawiki/index.php/Hoge って感じでアクセスすることになるのでこれを http://サーバ/mediawiki/Hoge って感じでアクセスできるようにする。サーバやインストールの形態によってやり方は異なるので一例としてみてほしい。

サーバは Apache 2.2 で mediawiki のファイル群は /home/apache/mediawiki にインストール、DocumentoRoot からは以下のように httpd.conf の Alias 設定で飛ばしている。

Alias /mediawiki /home/apache/mediawiki

http://サーバ/mediawiki/Hoge にきたリクエストを http://サーバ/mediawiki/index.php/Hoge に書き換えるには以下のような .htaccess を /home/apache/mediawiki に置けばよい。

<IfModule mod_rewrite.c>
   RewriteEngine On
   # Redirect Trailing Slashes...
   RewriteRule ^(.*)/$ /$1 [L,R=301]

   # Handle From Controller...
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^ /mediawiki/index.php [L]
</IfModule>

最後に MediaWiki 内でも http://サーバ/mediawiki/Hoge 形式で取り扱うように LocalSettings.php を以下のように修正する

$wgScriptPath = "/mediawiki";
$wgArticlePath = "{$wgScriptPath}/$1";

これで完了。

(追記)
R=301 の指定は危険なのでやめたほうが無難そう。

0 件のコメント :

コメントを投稿