xreaでadiaryを設置する


ずっと気付かなかったんですが,
どうもコメント機能が動作していなかったみたいです.

見てみると,

/diary/adiary.cgi/09?なんたらかんたら

となるべきところが

/diary/09?なんたらかんたら

になってしまっていて,クエリが空振りしていました.

それで,調べてみると次のページに回等らしきものが載っていました.
特殊なサーバでのadiaryの動作 – adiary開発日誌
しかし……この通りにadiary.conf.cgiの頭に記述してこんな感じにしてみても全然だめでした.

--------------------------------------------------------------------------------
○adiary のディレクトリ設定(通常は変更不要)
--------------------------------------------------------------------------------
・すべて相対パスで指定してください。
・ディレクトリを変更する場合は、配布物中のファイルの置き場も変更してください
・ディレクトリは / で終えてください
XREA用の特別なコマンド
<$ENV.PATH_INFO   = substr(ENV.PATH_INFO,   length(ENV.PATH_INFO)/2)>
<$ENV.SCRIPT_NAME = substr(ENV.SCRIPT_NAME, 0, length(ENV.SCRIPT_NAME) - length(ENV.PATH_INFO))>
公開のデータディレクトリ
<$constant(public_dir) = 'public/'>
<$constant(theme_dir)  = 'theme/'>

何がだめかって,スタイルシートへのパスがこんなことになってしまっていたのです.

/diary/adiary.cgi/theme/satsuki/satsuki/satsuki.css

勿論,本当はこうです.

/diary/theme/satsuki/satsuki/satsuki.css

で,結局試行錯誤した結果

<#$ENV.PATH_INFO   = substr(ENV.PATH_INFO,   length(ENV.PATH_INFO)/2)>
<$ENV.SCRIPT_NAME = substr(ENV.SCRIPT_NAME, 0, length(ENV.SCRIPT_NAME) - length(ENV.PATH_INFO))>
パス自動解析に失敗し、リンクなどがうまく辿れないときに設定する
<$Basepath='/diary/'>

とやると正常に動きました.
理由は,謎です.
同じxreaでも,他のサーバだと全然違うことをやらないといけないかもしれませんね.
難しい…….

Leave a Comment


NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>