- ベストアンサー
perl/cgi リダイレクトができない
こんにちは。 レンタルサーバーにて、認証後に開きたいページをlocationで実行してみたのですが動かなくて困っています。 index.html(ログインフォーム) ↓ aaa.cgi(認証可否チェック) ↓OKならsessionを与えて bbb.cgi(認証後にユーザーに見せる最初のページ) location以外でダイレクトさせる方法を教えてください。 よろしくお願いいたします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
METAを使えばリダイレクトできますけども。 <meta http-equiv="refresh" content="0;URL=http://hogehoge.com"> 普通は location でできます。 location の前にprint していませんか? location は 一番最初(printする前)にやらないと動作しません。 ただし、例の動作でしたら私ならばaaa.cgiにすべて入れてしまいますね。 subルーチンとかを使えば余計なページ移動を考えなくてもいいので。
その他の回答 (2)
- taseki
- ベストアンサー率66% (155/233)
print "Location~ という行の前に print "Content-type~ とか入っていませんか?
- flowermaze
- ベストアンサー率56% (159/282)
まずlocationでリダイレクトが本当にできないかどうかを確認するべきかと。 書いたソースと、起きた現象について補足願います。
補足
http://www.futomi.com/lecture/ohter/redirect.html を参考にして、 aa.cgi ----------------------------------------- print "Location: http://○○/bb.cgi\n\n"; ----------------------------------------- としました。 結果は、 http://○○/bb.cgi が出力されているだけで動きません。
お礼
仰るとおりですね。 別ファイルに記述しなくとも、 subで問題ありません。 ただ、動かなかったので気になりました・・