Pretend Static URLon Hiki Farm
HikiFarmでindex.cgi?hoge じゃなく hoge.html でアクセスしてもらうには
hiki.cgi?hoge じゃなく hoge.html でアクセスしてもらうにはをみて、HikiFarmでも出来ないか考えたら出来てしまったのでメモしておく。
必要なプラグイン
上記のサイトにあるものをそのまま使わせて頂いてます。ちなみに
def hiki_anchor( page, text ) unless page == 'FrontPage' then make_anchor("#{page.gsub(/%2F/,'%252F')}.html", text) else make_anchor('.', text) end end
と言うものです。これをhtml_anchor.rbなどとして、pluginディレクトリに入れれば動きます。
.htaccessに必要な記述
apacheのModRewriteを使うのでそれぞれのWikiに次の記述が必要です。
RewriteEngine on RewriteBase /wikiname/ RewriteRule ^(.+)\.html hiki.cgi?$1 [L]
HikiFarmのindex.cgi修正
96行目あたりの
def conf( wiki )
の下あたりに次の内容で追加する。
def htaccess( wiki ) <<HTACCESS RewriteEngine on RewriteBase /#{wiki}/ RewriteRule ^(.+)\.html index.cgi?$1 [L] HTACCESS end
そして、237行目あたりの
def create_wiki( wiki, data_path )
の中の適当なところに
File::open( "#{wiki}/.htaccess", 'w' ) do |f| f.puts( htaccess( wiki ) ) end
の様に記述する。
これでHikiFarmから新しいWikiを作成したら新しいWiki内にindex.cgiとhikiconf.rbに加えて.htaccessが出来て、作成した文書に「hoge.html」でアクセスできるようになりました。このサイトも現在その設定で動いています。
キーワード:
参照: