MediaWiki の ShortURLを設定してURLを短く分かり易くする
MediaWikiはウィキペディアのために造られたWikiプログラムで、だれでも自分のWikiを作ることができます。
https://ja.wikipedia.org/wiki/MediaWiki
MediaWikiのデフォルトでは /index.php?title=hoge というURLになるのでここから index.php と title=を外します。
その前に
https://www.mediawiki.org/wiki/Manual:Short_URL/ja
によると /Page_title は Not_recommended ということなので /wiki/hoge となるように(wiki/は残す) Apache で設定します。実際 / で試すとload.php問題やら対応の手間が増えてしまいました。
Apacheでの設定例はこのようになります
Alias /wiki /var/www/mediawiki
index.php を suppress するのもいつもの Apache 設定で行います。
Alias /wiki /var/www/mediawiki
<Directory /var/www/mediawiki>
AllowOverride All
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ /index.php [L]
</IfModule>
MediaWiki 側の設定は LocalSettings.php で行います。30行付近から書き換えます。
#$wgScriptPath = "";
$wgScriptPath = "/wiki/";
$wgArticlePath = "/wiki/$1";
#$wgUsePathInfo = true;
wgServer は必要に応じて https に変更します
wgServer はSSL対応済みサイトでは https に変更しないと、favicon.ico ws などの通信でブラウザにエラーが記録されます、混在コンテンツ状態になります。wgUsePathInfo は不要だったようです。
さらに編集リンクなどからも index.php を非表示にする場合は追加の設定が必要になります。
https://www.mediawiki.org/wiki/Manual:$wgActionPaths/ja を参照
$wgScriptPath = "";
$wgScriptPath = "/wiki/";
$wgArticlePath = "/wiki/$1";
#$wgUsePathInfo = true;
$actions = array('edit', 'watch', 'unwatch', 'delete','revert', 'rollback', 'protect', 'unprotect', 'markpatrolled', 'render', 'submit', 'history', 'purge', 'info');
foreach ($actions as $action) {
$wgActionPaths[$action] = "/wiki/$action/$1";
}
$wgActionPaths['view'] = "/wiki/$1";
$wgArticlePath = $wgActionPaths['view'];
このような設定でWikiのURLをシンプルにすることができました。
ディスカッション
コメント一覧
まだ、コメントがありません