PukiWikiのURLの整形(その3)

昨日 id:otn:20060603 の続き。次は、表示リンクの変更だが、まず入力されるURLが今までは http://otnx.jp/CMD/ ディレクトリ配下だったため、skin や image ディレクトリも、相対指定でよかった。今後は、URLのディレクトリがページ名に応じた階層構造になり相対指定では無理なので、絶対指定になる。そこで、まず、pukiwiki.ini.php において、

define('BASE_DIR',    '/CMD/'); // URL base

を追加し、

// Skins / Stylesheets
define('SKIN_DIR', BASE_DIR .'skin/');

// Static image files
define('IMAGE_DIR', BASE_DIR .'image/');

と修正する。そうすると今度は DATA_HOME 配下のスキンディレクトリのパス名が狂うので、default.ini.php を、

if (defined('TDIARY_THEME')) {
        define('SKIN_FILE', DATA_HOME . basename(SKIN_DIR) . '/tdiary.skin.php')
} else {
        define('SKIN_FILE', DATA_HOME . basename(SKIN_DIR) . '/pukiwiki.skin.php
}

のように修正する。また、skin ファイルの中で、css や js ファイルの場所が、skin と決め打ちされているので、skin/*.skin.phpの中の、

href="skin/
を
href="<?php echo SKIN_DIR ?>
に

src="skin/
を
src="<?php echo SKIN_DIR ?>
に

という修正をそれぞれ行う。これは元々のPukiWikiのバグか?


最後は、各ページへのリンクを修正して終わり。
つづく。