CGI-BBS > 電子掲示板 > その他 > ブロキューでログイン前のカレンダー、過去ログが表示できない。


カレッヂ
カレッヂ


質問者 ブログ  投稿日 2005/8/11(木) 01:27:43
ブロキューver1.41の設置をしています。パソコンはWindows、サーバはUNIXです。

ログイン後には正しくカレンダーと過去ログが表示されるのですが、
ログイン前はその部分に
[an error occurred while processing this directive] 
と表示されます。

blogフォルダを作成してその配下に一式を置いています。
パーミッションはマニュアルどおりに設定しました。

ログイン後には正しく表示されるのでパスは間違っていないと思います。
なぜログイン前後で表示に違いが出るのかが解析できませんでした。

どなたかおわかりになりましたら、ご教示ください。

【習熟度】多少の設置経験

回答者 いのちゃん  [削除]  投稿日 2005/8/14(日) 01:24:35
当方もblog_1.41を次のように2箇所に設定しておりますが、同じようなエラーが出て困っております。

http://www.nurs.or.jp/~ki-net/bloq_1.41/blog.cgi
”過去ログ“ の下に同じエラーが生じます。“最近のコメント”の下の項目をクリック
した場合は“過去ログ”の下にエラーが出ます。

http://tcnweb.ne.jp/~ki-net/public_html/bloq_1.41/blog.cgi
こちらはエラーが出なくなりました。但しその理由は不明のままです。
“最近のコメント”の下には項目記事が表示しません。従ってここからの転送が無い
ので“過去ログ”の下にはエラーが表示しないと言う厭な結果です。

回答者 アン  [削除]  投稿日 2005/9/5(月) 16:20:24
setup.cgi中の55〜56行辺りの
$calendar_cgi
$pastlog_cgi
の2変数をいじってみてもダメでしょうか?
回答者 相田隆志  [削除]  投稿日 2005/9/24(土) 14:18:47
私も同様の症状に悩んでいます。が、一部解決しました。

社内LANで以下のようなサーバを組んでいます。
  サーバ:windows xp
  httpサーバ:apache
  perl:active perl (バージョン忘れたけどjcode.pm内包)

index.shtmlにアクセスしたら表示されない(エラー文字列表示)過去ログなどが
blog.cgiにアクセスしたら表示される、という具合です。
  エラー文字列:an error occurred while processing this directive

左帯のカレンダーも最初は出ていなかったのですが、apacheの設定ファイル(httpd.conf)
を調整したらカレンダーだけは出てきました(冒頭の『一部解決』はこのことです。
設定調整の内容は、当該ディレクトリでのSSIの有効化です。
  参照:http://www.atmarkit.co.jp/misc/search/marker.php?query=ssi&pg=www.atmarkit.co.jp/flinux/rensai/apache07/apache07.html

私はblog.cgiのあるディレクトリを CGI実行・includeの実行 ほか全てOKという設定に
したのですが (Options All)、なぜかHTMLのinclude処理がうまくいっていないようです。

それで、index.shtmlから呼ばれるCGI(カレンダー部分)は表示されても、同じindex.shtml
から呼ばれるほかのHTML(過去ログ他)は表示されない、というふうになっているようです。
エラー文字列から、どうもhttpd.confの影響だろうと思われるのですが、つかめずにいる
ところです。

また、apacheのエラーログの中に、./img/rss.gifなどあきらかに存在するファイルを読めずに
いる様子も見て取れます。(実際、rss.gifはブラウザに表示されていません)

文章が入り乱れてしまいましたが状況だけでもお分かりいただけましたでしょうか。
私は、稼動しているサーバ上のindex.shtmlをダウンロードしてテキストエディタで
読んでみることを糸口にしながら解析を進めています。
解決したわけでもないのに長文失礼しました。
ちなみに、http server(apache)もperlも、超初心者です。
回答者 アン  [削除]  投稿日 2005/9/24(土) 14:55:57
>私はblog.cgiのあるディレクトリを CGI実行・includeの実行 ほか全てOKという設定に
>したのですが (Options All)、なぜかHTMLのinclude処理がうまくいっていないようです。
社内でapacheを動かしてるのでしたらhttpd.conf内に
AllowOverride all
を記述すればディレクトリ毎に設定できるようになると思います。
回答者 いのちゃん  [削除]  投稿日 2005/9/24(土) 16:53:08
>また、apacheのエラーログの中に、./img/rss.gifなどあきらかに存在するファイルを読めずに
>いる様子も見て取れます。(実際、rss.gifはブラウザに表示されていません)

setup.cgi Line 208辺り
$RSS_link = '<img src="img/rss.gif" border=0 width=36 height=14 alt="ここを
クリックしてブラウザのアドレス欄に表示されているのがRSS用のURLです。このURLを
RSSリーダーなどに設定してご利用ください。">';

上記の「<img src="img/rss.gif"」の部分を原文のままにしてある場合はこのように修正すれば
rss.gifは表示すると存じます。
回答者 相田隆志  [削除]  投稿日 2005/9/25(日) 14:05:57
アン様、いのちゃん様、ご丁寧にありがとうございます。

apache の httpd.conf の再度書き換えを(Override云々)行いましたが同じでした。
が、全行を細かくチェックはしていない(仕事の片手間なので申し訳ないです)ので
どこかにまだ問題が潜んでいる可能性があるので、もう少し追いかけてみようと思います。

setup.cgi 内 rss.gif 周辺のHTML記述は訂正してありましたが、NGでした。
ちなみに私は [img/rss.gif]ではなく[./img/rss.gif]としてあったので、これを
[img/rss.gif]にしてみてみましたが、不変でした。

次は過去ログ云々の部分、こちらは上記 rss.gif 表示対策をもとに、
各種相対パス指定をたとえば[./data/]としていたのを[data/]としてみたら、全ての
(上記gif以外の)表示が正常になりました。
どうやら、cgi の中でのディレクトリ指定に問題があったようです。
[./data/] も [data/] も同じ意味のような気はするのですが、結果は異なってきました。

apache, perl, cgi にあまり知識がないのでそのあたりの 『なぜ?』 が追求できずに
中途半端なことしか書けないことをご容赦いただければと思います。

返信(回答)する

 


Web裏技