CGIのLocationが使えません
[上に]
[前に]
[次に]
Seven Three
[E-Mail]
1999/06/17(木) 23:37:56
以下のような出力をするCGIを作成して,Apacheサーバーで実行してみました。
print "Location: http://***/\n\n";
が,どのブラウザで開いても,ファイルタイプ「application/x-httpd-cgi」が未定義なので開けない,といったメッセージを出してきます。
いったいどうすれば使えるようになるでしょうか。
ちはる
1999/06/18(金) 05:18:57
そもそも、Apacheの設定で、.cgiをcgiとして実行する設定になってないのかもしれないですよね。
手元にサーバーがあるなら、srm.conf(だっけ?)を編集してみましょう。
http://japache.infoscience.co.jp/
このサイトをご覧になれば、必要な情報がえられるかも。
Seven Three
1999/06/18(金) 13:33:34
[[解決]]
お返事ありがとうございます。
結論。Locationだけなら動くことが判明しました。
404エラーのカスタムメッセージとしてCGIを設定し,指定されたファイル名によって分岐させたいと思い,実験していましたが,どうもだめなようです。
たとえば分かりやすく言うと,
http://***.com/aa のときは http://***.com/test/aa/ に,
http://***.com/bb のときは http://***.com/test/bb/ に,
それぞれジャンプするようにしたかったわけです。
でも,LocationはCGIを直接呼び出さない限りうまくいかないようです。仕方がないのでrefreshタグで我慢します。
B-Cus
1999/06/19(土) 07:45:59
> ファイルタイプ「application/x-httpd-cgi」が未定義なので開けない
CGIで Content-type: text/html を出してやればこの症状は出ませんが、
ブラウザはステータス404が返ってきた場合はLocationを無視するようなので、
ダメっぽいですね。
うちのwebが移転したらこの方法を使おうとしてたんですが、ダメなのかぁ。
nphスクリプトにして、
print <<END;
HTTP/1.1 200(30Xの方がいいかな) ....
....
Location: ....
END
だとできるかも。でもErrorDocumentでnphなCGIを指定できるのかしら?
Seven Three
1999/06/19(土) 18:17:05
NPHもうまくいきませんでした。
<A href="come,to" target="_top">V3 URL(come.to)</A>は,どんな方法でウェブページ転送をしているのでしょうか。
今のところ
1.refreshタグで10秒後に移動
2.フレームで表示
3.瞬時に移動,ブラウザの履歴にも残らない
という三種類を提供していますが,三つ目の方法が分からないのです。
LYNXでも移動するから,JavaScriptではありえないし。(当然か)
やはりLocationだと思うのですが,404エラーを利用するという考えが間違っていたのでしょう。もう少し研究してみます。
Seven Three
1999/06/19(土) 18:18:43
http://come.to/
すみません
B-Cus
1999/06/19(土) 18:35:18
適当にディレクトリを掘って、
DirectoryIndex jump.cgi
として、/hogeにアクセスすると
/hoge/jump.cgi
が実行される、というのはダメ?
ただ、これだと事前にディレクトリを掘っておく必要がありますが。
yasu
[HomePage]
1999/06/20(日) 11:27:12
come.toはよくわかりませんが、pipi.netと同じでしょう、多分。
Perlなどで、ソケットを使ってtext/plainで出力してみると、
わかると思います。
ちなみに、pipi.netはやはりLocation使っていた(^^)
MyHP:http://pipi.net/yasu-soft/
yasu
1999/06/20(日) 11:28:30
あ、
> 3.瞬時に移動,ブラウザの履歴にも残らない
> という三種類を提供していますが,三つ目の方法が分からないのです。
これへのレスです(^^;)
B-Cus
1999/06/20(日) 18:07:39
あ、間違い。
> 適当にディレクトリを掘って、
じゃなくて、hogeというスクリプトを作っておいて、
<Files "hoge">
SetHandler cgi-script
</Files>
しといて、その中で
print "Location: http://newsite/$ENV{PATH_INFO}\n\n";
する、と。
Seven Three
1999/10/24(日) 23:14:05
>NPHもうまくいきませんでした。
などと書きましたが,数カ月ぶりに試してみたところできました。前回はNPHの何たるかを正しく理解していなかったようです。
[上に]
[前に]
[次に]