plalaで起こるリンクの不可解な挙動

このQ&Aのポイント
  • plalaで起こるリンクの不可解な挙動について、自作の掲示板スクリプトをplalaで動作させる際に起こる問題について説明します。
  • 掲示板スクリプトをplalaで動作させると、親記事からレスをつけようと返信画面へ移動する際に、特定のリンクがページが見つからないエラーを引き起こします。
  • 他のサーバーでは正常に動作するため、原因として「あけまして」というリンク先が問題である可能性があります。対策方法や原因の特定について相談しています。
回答を見る
  • ベストアンサー

plalaで起こるリンクの不可解な挙動

自作の掲示板スクリプトをplalaで動作させると、親記事からレスをつけようと返信画面へ移動する際、りんく先が http://cgiXX.plala.or.jp/XXXXX/bbs.cgi?mode=res&no=21&retitle=あけまして であるリンクをクリックした時に、ページが見つからないというエラーが表示されてしまいます。 mode=res は掲示板のモード no=21 はレスをつける親記事の番号(ここでは21) retitle=あけまして は返信画面でタイトル欄に表示する題名 を表します。 http://cgiXX.plala.or.jp/XXXXX/bbs.cgi?mode=res&no=21&retitle=akemashite とすると何も起こらないことから、どうも「あけまして」というところが原因と思われるのですが、他のサーバーで試すと正常に動いてしまうので対策方法 & 自分の記述のどこがまずいかがわからずにいます。 これに関して原因として思い当たること、もしくはなにか良い対策方法はないでしょうか。 スクリプトの文字コードはsjis、HTML表示の文字コード もsjisです。jcode.plも使用しています。

  • arcsin
  • お礼率46% (194/417)
  • Perl
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • root139
  • ベストアンサー率60% (488/809)
回答No.1

URLで使える文字は、正式には(RFCの規定では)、半角アルファベットと数種類の記号だけですので、それ以外の文字を使うと、サーバによっては正常に動作しないことも有ると思います。 したがって、日本語などをURLのパラメータに設定したい場合は、URIエスケープさせてやる必要が有ります。 http://www.din.or.jp/~ohzaki/perl.htm#JP_Escape たとえば、SJISの「あけまして」は、「%82%a0%82%af%82%dc%82%b5%82%c4」の様になります。

arcsin
質問者

お礼

なるほど、ありがとうございます。 教えていただいた参考URLにて無事解決いたしました。 またよろしくお願いいたします。

関連するQ&A

  • 管理人のみ閲覧可能な掲示板

    初めて投稿させて頂きます☆ 現在、ホームページを作成中なのですが、 こちら↓のような掲示板のCGIスクリプトを探しています。 http://moko.chu.jp/bbs/apeboard_plus.cgi 記事は一覧表示されて、管理人のみ記事を読むことのできる掲示板です。 CGIを設置できるサーバーなので、レンタルBBSなどではなくて、CGIスクリプトを希望です。 検索サイトで「掲示板 CGI」などを検索しましたが、 見つける事ができませんでした。 どうぞ宜しくお願い致します。

    • ベストアンサー
    • CGI
  • 確率について。

    以下のURLの質問を教えていただけないでしょうか?回答が、よくわからないのです。教えていただけないでしょうか?すみません。 http://www.crossroad.jp/cgi-bin/bbs/mathbbs/cbbs.cgi?mode=res&namber=48333&no=0

  • JavaScriptの条件文の応用

    JavaScriptの条件文の応用について、アドバイスをお願いします。 if文は、ある条件を満たす時だけ命令を実行します。 if~else文は、ある条件を満たす時だけ命令を実行し、それ以外の場合はelse以下の命令を実行します。 if~else if~else文は、if~else文のある条件を複数用意したものです。 switch文は、if~else文を更に複数用意したものです。 それでは、ある条件"だけ"を満たす時だけ命令を実行させたい場合、どのように条件文を書けばいいのでしょうか。 具体的には、スレッド型掲示板で、「返信なし親記事だけ:空白」の時だけ投稿日時を表示するようにさせ、「返信あり親記事:oya」の時には投稿日時を表示させないようにしたいのです。 そして、返信がある場合には、投稿日時の欄に「最後のレス:end」を表示させるようにしたいのです。 掲示板は、http://bbs.sekkaku.net/bbs/23.htmlです。 20時間ぐらいあれこれやっているのですが、妙案が浮かびません。例えば、以下のような書き方もしています。 この書き方の場合、投稿日時は返信ありの場合も親記事の投稿日時が表示され、返信の投稿日時は、別の欄(返信数)に表示されてしまいます。 しかし、少し書き方を変えると、親記事の投稿日時が一切表示されず、返信の投稿日時は、別の欄(返信数)に表示されたままです。 【BASE】の関連部分 <SCRIPT type="text/javascript"> <!-- var mode = "$mode"; if (mode != " "){ document.write('$date_year/$date_mon/$date_day($date_week2) $date_hour:$date_min'); } // --> </SCRIPT> 【RES】の関連部分 <SCRIPT type="text/javascript"> <!-- mode = "$mode"; if (mode != "end"){ document.write('$date_year/$date_mon/$date_day($date_week2) $date_hour:$date_min'); } // --> </SCRIPT>

  • 掲示板の返信フォームの改造について

    お邪魔いたします。 掲示板の返信フォームの改造について、 教えていただきたくお邪魔させていただきました。 http://www.minicgi.net/cgi2/joyful.html こちらの掲示板を利用しております。 記事の返信をする際、 表示順が  親記事  レス記事  投稿フォーム と 返信フォームが一番下にあり、 レス数が多いとフォームまで遠くて少し使いづらいので ・返信フォームをレス記事の上部にする もしくは ・返信フォームまで1クリックでひとっとびできる など、可能でしょうか? 可能な場合やり方を教えていただけると助かります。 当方は決してcgiにあかるくありませんので、 弄るファイル名と弄る箇所をそのままコピペできるように 教えていただけると助かります。 どうぞよろしくお願いいたします。

    • 締切済み
    • CGI
  • ホームページで、掲示板CGIファイルをindex.htmlからアンカー

    ホームページで、掲示板CGIファイルをindex.htmlからアンカー ホームページで、掲示板CGIファイルをindex.htmlからアンカーで呼び出しているのですが、ファイルが 見つかりませんとWEBサーバーが返してきます。プロバイダーはぷららで、独自CGIサーバーに登録したところ、独自CGI用ディレクトリが、/home/アカウント名/ となっており、URLは、http://cgi19.plala.or.jp/アカウント名/ で登録完了となりました。 FFFTPで、掲示板CGI用フォルダをCGIサーバー内の、「/アカウント名/bbs1」として作成し、その下に 「/アカウント名/bbs1/aska.cgi」として、aska.cgiという、掲示板CGIファイルを設置しました。CGIファイルの属性も、755としました。 これをindex.html側で、<a href="http://cgi19.plala.or.jp/アカウント名/bbs1/aska.cgi">掲示板</a> と呼び出しているのですが、この<a>タグのURLの表記方法に何か間違いなどあるのでしょうか。それとも、CGIファイルの設置場所が間違っているのでしょうか。(/home/アカウント名/bbs1/aska.cgiに置いてもだめでした。) ぷららで独自CGIをお使いの方、ご指南いただければ幸いです。

    • ベストアンサー
    • CGI
  • 最終更新日自動取得のようなCGIは難しいでしょうか

    お世話になります。 掲示板のログを、CGIにアクセスしただけで表示させたいと思っています。 掲示板CGIの中に下記の記述を加えているため、掲示板の中で表示させたい箇所に$allnumberと記述する事で、投稿記事の総数を表示できるようになっています。 -------------------- #総投記事数を表示 open(FH, "$room/log.cgi") or die; my $line = <FH>; my( $allnumber ) = $line =~ /^(?d*)/; close(FH); -------------------- マルチ掲示板CGIを使用しているので、$roomには各掲示板のIDが入力されます。 各掲示板の投稿数を表示する、単独のCGIスクリプトは難しいでしょうか。 最終更新日を自動的に取得して、表示するCGIのイメージです。 これらのCGI(仮に「lastup.cgi」とします)は、http://hogehoge.jp/lastup.cgi?./bbs/log.cgiと最終更新日を取得したいファイルを指定して、htmlファイルの表示させたい箇所に記述すると、指定したファイルの最終更新日が表示できるようになっているCGIがあります。 (※「./bbs/log.cgi」は、lastup.cgiから見た対象ファイルまでのパスです) (※「log.cgi」は、掲示板のログが保存されているファイルとします) このように、「http://hogehoge.com/~.cgi?./(掲示板ID)/log.cgi」と記述するだけで、htmlの好きな箇所に指定した掲示板の記事数を表示させるようなCGIはできないでしょうか。 私はこれまでにCGIをいくつか設置した経験や、改造した経験はありますが、いつもネットで検索して分かる範囲で簡単な改造しかできません。 お手数ではありますが、できる限り詳しく教えて頂けると嬉しく思います。 お力添えを頂けると助かります。 何卒、よろしく御願い致します。

  • 掲示板のcgiスクリプトの開き方

    はじめまして、よろしくお願いします。 私の投稿している文芸サイト掲示板で、かなり前から英文字のみのURLを羅列したスパム投稿の書き込みが続いており、HP管理者が対処に困っています。対策関連のURLなどもお送りしてみましたが、管理者ご自身はあまりお詳しくないとのことで、私の方ででき得る限り試し間違いなければその方法をお伝えしたいと思い、同じ掲示板配布元より新しい掲示板を登録し日本語禁止のタグを入れたcgi改造をしてみようとしましたが、まず最初の、掲示板のcgiスクリプトの開き方がわかりませんので、どなたかご教示願えませんでしょうか。 ちなみに私は音楽のHPをやっており、FFFTPソフトの使い方はわかります。cgiは扱ったことはありません。 新たに登録した掲示板URLは以下になります。 http://res9.7777.net/bbs/****/ ホスト名アドレスを「http://res9.7777.net/bbs/****/」としてみましたが、接続ができませんでした。ユーザ名及びパスワードは合っていると思います。 初心者なので、3日間かかりきりで調べています。なにとぞよろしくお願いいたします。

  • 同一ファイルでほかのページを作成

    よく掲示板などで /bbs.cgi?mode=info こんな風にアドレスの後ろに ?mode=info と書くと、掲示板ではなく他の内容が表示されます。 上のようなページを作成したいのですが、 やり方がわかりません。 まだ初心者なので詳しく説明してほしいです。 よろしくお願いします。

    • ベストアンサー
    • Perl
  • ホームページで、掲示板CGIファイルをindex.htmlからアンカー

    ホームページで、掲示板CGIファイルをindex.htmlからアンカーで呼び出しているのですが、ファイルが 見つかりませんとWEBサーバーが返してきます。プロバイダーはぷららで、独自CGIサーバーに登録したところ、独自CGI用ディレクトリが、/home/アカウント名/ となっており、URLは、http://cgi19.plala.or.jp/アカウント名/ で登録完了となりました。 これをindex.html側で、<a href="http://cgi19.plala.or.jp/アカウント名/bbs1/aska.cgi">掲示板</a> と呼び出しているのですが、この<a>タグのURLの表記方法に何か間違いなどあるのでしょうか。ぷららで独自CGIをお使いの方、ご指南いただければ幸いです。

    • ベストアンサー
    • HTML
  • 3次関数について。

    次のたけちゃんさんの解答を解説していただけると幸いです。 http://www3.rocketbbs.com/603/bbs.cgi?id=aoki&mode=res&resto=22343

専門家に質問してみよう