!!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}}