設定MEMO  ページ一覧  検索  更新履歴  編集履歴  PageRank  RSS  ソース  ログイン  HikiFarm

PretendStaticURLonHikiFarm 差分 - IvyValley MEMO (Bibouroku)

  • 最後の更新で追加された部分はこのように表示します。
  • 最後の更新で削除された部分はこのように表示します。

!HikiFarmでindex.cgi?hoge じゃなく hoge.html でアクセスしてもらうには
[[hiki.cgi?hoge じゃなく hoge.html でアクセスしてもらうには|http://www.namaraii.com/hiki/?PretendStaticURL]]をみて、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」でアクセスできるようになりました。このサイトも現在その設定で動いています。