トップ 差分 一覧 ソース 検索 ヘルプ RSS ログイン

TutorialLog

2007-4-22

 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'"

<Files "wiki.cgi">

SetOutputFilter fancyurl

</Files>

mod_rewrite

httpd.conf に次の設定を加えます.(置き換え先は,実際に Wikiが設置されているパスになります)

<Location />

RewriteEngine On

RewriteRule wiki.cgi/(.*)$ /wiki.cgi?page=$1 [NE]

</Location>

その他

DirectoryIndex に wiki.cgi を設定しておけば,FrontPage の表示がスマートになります.

問題点

Session 管理に使う Cookie の path の問題で,ログイン,ログアウト,ログイン,といった繰り返しを行うと,Session が正しく取得できず,権限の認識がおかしくなる事があります.これを修正するには,ソースコードに直接手を入れる必要があります.

[Apache][テクニック][SEO]


コメント

お名前: コメント:


表示された文字列

  • [create] 2007/04/22 04:17:13 by sakuma