zunda
zunda****@24i*****
2003年 8月 16日 (土) 00:44:21 JST
初めまして、zundaです。 必要があってHikiを導入させていただきました。できればGoogle先生にも拾って もらいたいと思ってちょっとだけ改造しましたので報告しておきます。 * plugin/に下記を導入する gsubすることによって、「/」の入っているページ名をApacheに期待通りあつ かってもらえるようになります。かずひこさんによると、apache 2.0.46から AllowEncodedSlashesというディレクティブが用意されて、このgsubは必要な いようです。 http://httpd.apache.org/docs-2.1/ja/mod/core.html#allowencodedslashes --- ここから #===== hiki_anchor def hiki_url( page ) unless page == 'FrontPage' then "#{page.gsub(/%2F/i,'%252F')}.html" else '.' end end def hiki_anchor( page, display_text ) make_anchor( hiki_url( page ), display_text ) end --- ここまで * hiki/command.rbを以下のように変更 Index: hiki/command.rb =================================================================== RCS file: /cvsroot/hiki/hiki/hiki/command.rb,v retrieving revision 1.4.2.34 diff -u -r1.4.2.34 command.rb --- hiki/command.rb 12 Aug 2003 06:34:23 -0000 1.4.2.34 +++ hiki/command.rb 15 Aug 2003 15:28:45 -0000 @@ -335,7 +335,7 @@ data[:link] = page.escapeHTML generate_page(data) else - redirect(@cgi, "#{$cgi_name}?#{page.escape}") + redirect(@cgi, @plugin.hiki_url( page ).escape ) end end @@ -555,7 +555,7 @@ end if redirect_mode and result - redirect(@cgi, "#{$cgi_name}?#{@p.escape}") + redirect(@cgi, @plugin.hiki_url( @p ).escape ) end end end * .htaccessに以下を追加 RewriteEngine on RewriteRule ^(.+)\.html hiki.cgi?$1 [L] これで、少なくとも手元では、期待通りの動き: * ページ内のリンクは hoge.html になる * ページの編集後に hoge.html にリダイレクトされる * FrontPage.htmlは、…/というURLになる をしてくれています。 以上、参考まで。