• ベストアンサー

perlで

$xが1に等しかったら ブラウザクライアントに 1.html を送り表示させ $xが0に等しかったら ブラウザクライアントに 0.html 送り表示させる ようにCGIファイルを作ることはできるでしょうか? ($x例えばはPOSTで受け取った変数です) 1.htmlや0.htmlを読み込みprintで一行ずつ書いていくことしかできないのでしょうか?

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

  • ベストアンサー
  • arcsin
  • ベストアンサー率70% (28/40)
回答No.2

#1の方と同じですが、javascriptを使うか、locationをつかうかmetaを使うのが手っ取り早い方法でしょう。 javascriptはoffにされてしまうとどうしようもないので、locationかmetaの方法に絞られます。 locationを使う場合($xには0か1のどちらかが入っていると保証されているとして)、Content-type:text/htmlを出力する前に、 print "Location:./$x.html\n\n"; 等すればいいと思います。ただしlocationヘッダはサーバによっては使えません。使えないサーバであればmetaの方法が有効です。 metaを使う場合、 print "Content-type:text/html;\n\n"; print "<html>\n"; print "<head>\n"; print "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=./$x.html"> print "</head>\n"; print "</html>\n"; とすればよいでしょう。

guuman
質問者

お礼

丁寧な説明ありがとうございます metaを使いたいと思います

その他の回答 (1)

noname#191236
noname#191236
回答No.1

こんばんわ。 暇なので投稿します。(爆 転送させたいという事でいいのでしょうか? (要は0&1.htmlは静的なページでOKなのかどうか) 転送させたいだけならば、ロケーションヘッダを 出力させればいいと思います。(URL参照) それでは。

参考URL:
http://easycgi.xrea.jp/tips/perl/location.htm
guuman
質問者

お礼

ありがとうございます 条件判断で転送先を変えたかったのです 参考にします