CGI-BBS > 電子掲示板 > その他 > ブロキューについてコメント記入フォームを表示できない。


カレッヂ
カレッヂ


質問者 むつき  投稿日 2006/12/29(金) 02:43:02
ブロキューに関しての質問です。
使用PCはWindows、サーバはUNIXになります。
ブロキューのVersionは2.52です。

設置が無事に完了しまして、記事の書き込み・表示は無事に確認できたのですが、
記事の最後にある「コメント」をクリックしてもコメント書き込みフォームが表示されずに、
記事の一覧(blog.cgiを開いた時と同じ画面)が表示されてしまいます。
「固定リンク」「続きを読む」に関しても同様で、記事の全てが表示されずに記事の一覧が表示されてしまいます。

改造を行ったのが原因かと思い、改めて無改造で最低限の設定を行ったものを設置しましたが同様の症状でした。
お心当たりがございましたらご教授お願い致します。

無改造で設置したブロキュー
http://www.trancewave.tv/test/blog/blog.cgi

改造して設置したブロキュー
http://www.trancewave.tv/r8/blog.cgi

また、別件なのですが、setup.cgiの「$style_kiji =」をleftからrightに変更しても
leftのスタイル設定が適応されてしまうのですが、これは仕様でしょうか?

【プロバイダ】http://www.1-man.net/
【習熟度】多少の改造ができる

回答者 rescue  [削除]  投稿日 2007/1/6(土) 11:36:20
まずスタイルシートの件ですが、トップ画面で確認すると、


<style TYPE=text/css>

	body { background-attachment:fixed;
	background-position : 100% 0%;}

	a.head:link    { text-decoration:none; color:#FFFFFF }
	a.head:visited { text-decoration:none; color:#FFFFFF }
	a.head:active  { text-decoration:none; color:#FFFFFF }
	a.head:hover   { text-decoration:none; color:#FFFFFF }

	a.left:link    { color:#FFFFFF }
	a.left:visited { color:#CCCCCC }
	a.left:active  { color:#CCCCCC }
	a.left:hover   { color:#CCCCCC }

	a.mid:link    { color:#FFFF00 }
	a.mid:visited { color:#F0E68C }
	a.mid:active  { color:#F0E68C }
	a.mid:hover   { color:#F0E68C }

	a.right:link    { color:#aaffff }
	a.right:visited { color:#aacccc }
	a.right:active  { color:#aacccc }
	a.right:hover   { color:#aacccc }
</style>

<a class="left" href="http://www.trancewave.tv/test/blog/blog.cgi?cmd=calendar&year=2006&month=12">←</a>
<a class=mid href="http://www.trancewave.tv/test/blog/blog.cgi/permalink/20061229011640" title="more">続きを読む</a>

をクリックしてみて、訪問済みのリンク色を比べてみましたが、正常のような気がします。
一旦、左・中央・右のリンク色を極端に変えてみて確認してみてください。

固定リンクに進まない件ですが、いただいた情報だけでは分かりませんでした。
気になるのが、トップのソースを見ると分かりますが、設定がされていない、
または、不必要であれば消さなければならない設定が現れています。

 background="http://●壁紙を貼る場合は絶対URLで記述/bg.jpg"> など

まず、すべての設定を、特に設置構成に関わる設定を確認してみてください。
回答者 rescue  [削除]  投稿日 2007/1/6(土) 17:39:06
$style_kiji = 'right'; 記事
$style_comment = 'left'; コメント
$style_trackback = 'left'; トラバ
$style_pastlog = 'right'; 過去ログ
$style_rss = 'left'; RSSリンク
$style_calendar = 'right'; カレンダー部分

ですよね?

CSS設定を見ると、left=赤、mid=緑、right=青ですので、
たとえば左にある最近の記事リンクの色は right になってますので青、
中央にある部分は強制的にmidになり、固定リンクなどのリンク色は緑になってます。
記事のリンクも、手書きではなくリンク機能を使えば class=mid が自動挿入されますが、
そうなっていないので、手書きか、それを消してしまっていませんか?
URLを携帯に送るは強制的にrightに設定されるので、青になってます。
どこを見てすべてrightと判断されていますか?
正常にしか判断が出来ませんでした。

もうひとつの方ですが、

if ($ENV{'CONTENT_LENGTH'} > 131072) { &error("エラー","大き過ぎるファイルを受信しました。-&gt; $ENV{'CONTENT_LENGTH'} bytes"); }
の直後あたりに、
&error($ENV{'PATH_INFO'});
を入れて、
http://www.trancewave.tv/test/blog/blog.cgi/permalink/20070106162505
にアクセスして、$ENV{'PATH_INFO'}の値が何かを確認してみてください。

$ENV{'PATH_INFO'}には /permalink/20070106162505 が値として入るので、
もし入らないようであれば、サーバ管理者に、設置サーバのhttpdソフト名と、
環境変数として$ENV{'PATH_INFO'}を出力しているhttpdサーバかどうか
確認してみる必要があるかもしれません。それが出力されないと、
残念ながらご利用いただけません。UNIXサーバですよね?
windowsサーバでこの環境変数が使えるかどうかは分からないのですが、
ちょっと気になりました。
質問者 むつき  [削除]  投稿日 2007/1/6(土) 18:06:11
ご返信有難うございます。

先ほど投函した内容を手違いで消してしまいました。
申し訳ございません。

色に関してですが、ご指摘の通り「URLを携帯に送る」で判断していました。
お手数をお掛けいたしましたorz
(blog.cgiのソースを辿っていって気が付いたのですが、入れ違いになってしまいました)

&error($ENV{'PATH_INFO'});
を試してみたところ、ブラウザのタイトルは「ERROR」で
「/test/blog/blog.cgi/permalink/20070106162505」と表示されました。
サーバ機はSunCobaltのUnixと聞いていましたが、確認してみようと思います。

回答者 rescue  [削除]  投稿日 2007/1/6(土) 18:17:43
コバルトですか… かなりクセがあるサーバですね。確か…

その値は通常、SCRIPT_NAME という環境変数で入る値まで含まれています。
では$ENV{'SCRIPT_NAME'}には何の値が入るかテストしてみるといいでしょう。

参考
http://www.nslabs.jp/envssi.rhtml

やはり、そのサーバでは、PATH_INFOには正しく値が入らないようです。
httpdソフトはApacheが基本になっていないのか、なんらかの理由で、
独自の環境変数になっている可能性が高いです。
回答者 rescue  [削除]  投稿日 2007/1/6(土) 18:21:33
その値が入るのであれば、苦肉の策ですが、

if ($ENV{'PATH_INFO'} =~ /^\/k\/(\d*)$/) { # 携帯
↓
if ($ENV{'PATH_INFO'} =~ /\/k\/(\d*)$/) { # 携帯

if ($ENV{'PATH_INFO'} =~ /^\/(\d+)$/) { # トラックバック受信
↓
if ($ENV{'PATH_INFO'} =~ /\/(\d+)$/) { # トラックバック受信

if ($ENV{'PATH_INFO'} =~ /^\/permalink\/(\d{14})$/) { # 固定リンク
↓
if ($ENV{'PATH_INFO'} =~ /\/permalink\/(\d{14})$/) { # 固定リンク

でやってみてください。たぶん大丈夫だと思います。
(時間がないため実際には実験していません。)
質問者 むつき  [削除]  投稿日 2007/1/6(土) 19:22:43
無事に解決いたしました。
お忙しい中有難うございました。

以下、ご報告です。
(何か、今後のご参考になれば幸いです。
といっても、このように変な変数を返すサーバなど
ご参考にならないかもしれませんが…)

$ENV{'SCRIPT_NAME'}も試しましたが、
$ENV{'PATH_INFO'})と同様の内容が返ってきました。
レンタルサーバのINFOを見てもApacheらしいのですが、
仰るとおり、何か特殊な設定がされているのかもしれません。


「if ($ENV{'PATH_INFO'} =~ /\/(\d+)$/) { # トラックバック受信」
と書き換えると、固定リンク・コメント・トラックバックのどれをクリックしても
記事の内容がソースで表示されました。
http://www.trancewave.tv/test/blog2/blog.cgi
※トラックバックは使う予定がありませんので、問題ございません。

以上です。
今回は本当に有難うございました。
回答者 rescue  [削除]  投稿日 2007/1/6(土) 21:30:36
あ、マッチ処理が微妙にずれるために、固定リンクが&mode_rssに先にかかってしまったようです。

if ($ENV{'PATH_INFO'} =~ /^\/(\d+)$/) { # トラックバック受信
↓
if ($ENV{'PATH_INFO'} =~ /\/(\d+)$/ && $ENV{'PATH_INFO'} !~ /permalink/) { # トラックバック受信

でどうでしょう?
質問者 むつき  [削除]  投稿日 2007/1/17(水) 17:06:55
ご連絡遅くなりまして失礼致しました。

無事、動作させることが出来ました。有難う御座いました。


今回とは別件(スパムメール対策)でサーバ機器を変更してもらったのですが、
新しく回されたサーバ機も同系列のBlueQuartzで、
修正無しでは正常動作しませんでした^^;

返信(回答)する

 


Web裏技