cgiでメタタグを使用するにはどうすればいいですか

このQ&Aのポイント
  • cgiでメタタグを使用する方法とは?
  • htmlでメタタグを使用して4秒でURLにジャンプする方法
  • cgiでもメタタグを使って4秒でURLにジャンプするにはどうすればいいか
回答を見る
  • ベストアンサー

cgiでメタタグを使用するにはどうすればいいですか

htmlでメタタグ <meta http-equiv="refresh" content="4;URL=#.html"> と、4秒でURLにジャンプしています(URLは略)。 cgiサイトもあり、cgiでも、4秒でURLにジャンプしたいです。 print "Content-type: text/html\n\n"; print "<html>\n"; print "<head>\n"; print "<meta http-equiv="refresh" content="4;URL=#.html">\n"; print "</head>\n"; print "</html>\n"; print "と\n";で単純に挟んでいますが、エラーになってしまいました。 メタタグには、特殊な書き方があるのでしょうか?

  • CGI
  • 回答数2
  • ありがとう数1

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

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6629/9392)
回答No.1

>print "と\n";で単純に挟んでいますが、エラーになってしまいました。 >print "<meta http-equiv="refresh" content="4;URL=#.html">\n"; この行を、perlの気持ちになって読んでみると、 print "<meta http-equiv=" refresh " content=" 4;URL=#.html ">\n"; このようなプログラムが書かれていることになります。 つまりデタラメです。 ダブルクォート中のダブルクォートは、エスケープしなければなりません。 >print "<meta http-equiv=\"refresh\" content=\"4;URL=#.html\">\\n"; このように書けば、通るでしょう。 むしろ、ダブルクォートをエスケープしなくてよいように、ほとんどの部分はシングルクォートでくくるのが楽でしょう。 >print '<meta http-equiv="refresh" content="4;URL=#.html">'."\n"; 最後の \n は特殊文字(改行)を表すので、ダブルクォートでくくらなければいけません。 なので分けて、ドット演算子で文字列結合しています。

nanakora
質問者

お礼

ありがとうございました。 助かりました。

その他の回答 (1)

回答No.2

エスケープがないだけです。 print "<meta http-equiv="refresh" content="4;URL=#.html">\n";

関連するQ&A

  • CGIで表示されるページ(hoge.cgi)に

    CGIで表示されるページ(hoge.cgi)に <meta http-equiv="Refresh" content="5;URL=www.abc.com"> とメタタグを記述し、5秒後に指定URL(abc.com)に飛ぶようにしているのですが、 この方法ですとジャンプ先(abc.com)ではリンク元(hoge.cgi)が特定できません。 ジャンプ先でリンク元URLを特定できるようにしたいのですが、何か方法はありませんでしょうか?

    • ベストアンサー
    • CGI
  • メタタグに順番はありますか?

    お世話になります。 会社のHPを編集(?)しているのですが、メタタグは<head>~</head>内でしたら順番は考えなくてもよろしいでしょうか? <title>~</title> <meta name="Keywords" content="" /> <meta name="Description" content="" /> は10番目以内が望ましいとのことなのですが、作成してもらったHP上記より前に <meta http-equiv="Content-Type" content="text/html; charset=shift_jis" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="Content-Style-Type" content="text/css" /> この3つが入ってます。 これより前にキーワードなどを持ってきても大丈夫ですか?

    • ベストアンサー
    • HTML
  • CGIから移動したページでのリンク元URLの取得について

    CGIから移動したページでのリンク元URLの取得について CGIのHTML表示部を print<<End_of_Data; <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <meta http-equiv="Refresh" content="5;URL=http;//example.com/index.html" /> <title>認証OK</title> </head> <body>会員ページに移動します</body> </html> End_of_Data としています。 5秒後にリダイレクト先のexample.comに移動するようにしているのですが、 このリダイレクト先でリンク元を取得することができません。 リンク元URLを取得するにはどうしたらよろしでしょうか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • CGIの中のjavascriptに関して

    教えて下さい。 下記のようなCGIファイルにjavascriptを記載しようと考えて いますが、どうしてもエラーとなってしまいます。 《エラー内容》 Network Error(tcp_error) *  《記載内容》 #!/usr/bin/perl <script type="text/javascript"> <!-- var url = "http://999.999.999.999/"; //ジャンプ先のURLを指定 var moveTime = 2000; //移動までの時間をミリ秒で指定 function jump(){ location.href = url; } setTimeout (jump, moveTime); //--> </script> print "Content-type: text/html\n\n"; print qq! <html> <head> <title>指定秒後に別のページへジャンプ</title> <META Http-Equiv="Content-Type" Content="text/html;charset=EUC-JP"> <body> <p><a href="index.html">index.html</a><p> </body> </html> !; 何か間違った記述の仕方をしているのでしょうか。。。 CGIファイルにjavascriptを記載する場合はどこへ記載すれば 良いでしょうか。。。。 教えて下さい。

  • メタタグについて

    <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS" />  上記のメタタグは、どう言う意味で使われるのでしょうか。お願いします。

    • ベストアンサー
    • HTML
  • CGIで作ったHTMLの文字化けについて

    CGIのヘッダを "Content-type: text/html\n\n" として、HTMLをブラウザに出力するcgiを作っているのですが、 「表示」という文字が「侮ヲ」と文字化けしてしまいます。 HTMLの<head></head>内には print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=shift-jis\">"; と記述して日本語を指定しています。 文字化けの原因がまったくわかりません。 心当たりありませんでしょうか?

    • ベストアンサー
    • Perl
  • メールフォーム

    print "Content-type: text/html\n\n"; print "<HTML><HEAD><TITLE>Thank you!</TITLE></HEAD>\n"; print "<BODY bgcolor=\"#DEB887\">\n"; print "<H2 align=\"center\">メール送信完了!</H2>\n"; print "<HR>\n"; print "<P>\n"; print " しばらくお待ちください。\n"; print "</BODY></HTML>\n"; CGIでメールフォームを作成してて、送信後の画面はこんな感じにしてるのですが、 meta http-equiv="refresh" content="5;url=sample.html 5秒後に自動でTOPページへ持っていくようにしたいのですが、これはどこに入れたらいいんでしょうか?

    • ベストアンサー
    • CGI
  • Google向けメタタグについて。ホームページビルダー使用

    ネットなどで調べて、メタタグを入れたのですが、今ひとつ解らないので教えてください。 <HTML> <HEAD> <TITLE>タイトル</TITLE> <META NAME="description" content="サイトの説明"> <META NAME="keywords" content="キーワード,関連名詞"> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META NAME="ROBOTS" CONTENT="ALL"> <META http-equiv="Content-Style-Type" content="text/css"> <META name="GENERATOR" content="IBM WebSphere Studio Homepage Builder Version 6.5.0.0 for Windows"> </HEAD> という形にしているのですが、サイトの説明文が反映されません。キーワードはGoogleには、影響無いんですよね?(一応入れていますが・・・) 後、ビルダーで作成時に自動で入力されるメタタグは必要なのでしょうか?よろしくお願いします。

    • ベストアンサー
    • HTML
  • RubyでCGIが動きません。

    RubyでCGIを作ってApacheを使ってアプリの練習をしようとしていますが、CGIのお置き場所かApacheの設定かCGIの書き方が悪いのかIEで動かすとCGIの内容を中途半端に実行して下記のようになってしまいます。 #!/ruby/bin/ruby -Ks print "Content-type: text/html\n\n" print "" print "" print "" print "" print "こんにちは、Ruby!" print "" CGIのソースは #!/ruby/bin/ruby -Ks print "Content-type: text/html\n\n" print "<html><head>" print "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=Shift_JIS\">" print "<title>RubyでCGI</title></head>" print "<body>" print "こんにちは、Ruby!" print "</body></html>" 一番簡単なプログラムだと思うのですが、どこがいけないのでしょうか。ちなみにOSはVISTAです。 ちょっと気になるのはApacheMonitorServerが動かないこともあります。タイトルにはErrorと出ますが、メッセージでは「この操作を正しく終了しました」と出ます。 ちなみにApacheは動いてます。LocalHostで確認できました。 どなたかどうすれば良いのか教えて頂けないでしょうか。 よろしくお願いします。結構長い時間悩んでいます。

    • 締切済み
    • CGI
  • CGIが動作しません。

    最近、Perlを初めたのですが、 CGIがうまく動作しません。 他のCGIは動作しているので CGIは動作する環境だと思います。 http://からフルパスでCGIを実行しても、 以下のエラーがでます。 -------------------------------------  500 InInternalServerError  サーバーエラーです。  以下の理由が考えられます。  パーミッション等の設定が  間違っている可能性があります。  サイト管理者にお問い合わせ下さい。 ------------------------------------- ちなみに以下のような簡単なCGIも同様です。 ===================================== #!/usr/local/bin/perl print "Content-type: text/html\n\n"; print "<html><head>\n"; print "<meta http-equiv=Content-Type content=text/html; charset=x-sjis>\n"; print "<title>StartCGI</title></head>\n"; print "<body>\n"; print "<p align=center><font size=4>初めて書いたCGI</font></p>\n"; print "</body></html>\n"; exit; =====================================  なぜなんでしょう。 困ってます。 ご教授の程、宜しくお願い致します。

    • ベストアンサー
    • CGI

専門家に質問してみよう