!!FancyURL の実現方法
Apache を使っている前提で,FreeStyle Wiki の FancyURL (静的URL) を実現する方法です.
Apache には,mod_rewrite と mod_ext_filter が必要です.
mod_ext_filter で sed を介すため,速度は3分の1ほどに低下します.
!mod_ext_filter
httpd.conf に次の定義を行います.
""ExtFilterDefine fancyurl mode=output cmd="/usr/bin/sed -e 's/wiki.cgi?page=/wiki.cgi\\\//g' -e 's/%2F/\\\//g'"
""
""
"" SetOutputFilter fancyurl
""
!mod_rewrite
httpd.conf に次の設定を加えます.(置き換え先は,実際に Wikiが設置されているパスになります)
""
""
"" RewriteEngine On
""
"" RewriteRule wiki.cgi/(.*)$ /wiki.cgi?page=$1 [NE]
""
""
!その他
DirectoryIndex に wiki.cgi を設定しておけば,FrontPage の表示がスマートになります.
!問題点
Session 管理に使う Cookie の path の問題で,ログイン,ログアウト,ログイン,といった繰り返しを行うと,Session が正しく取得できず,権限の認識がおかしくなる事があります.
これを修正するには,ソースコードに直接手を入れる必要があります.
{{category Apache}}
{{category テクニック}}
{{category SEO}}