2008年12月 8日

[Apache-Users 7218]HTTP_MOVED_TEMPORARILY が正しくできません。

** Apache ユーザーズメーリングリスト **
** 注意:このメールへの返信は Apache-Users へ行きます **

> > handlerの中でリダイレクト(302)を指示したいのですが、その際に
> > Content-Length がレスポンスヘッダに載りません。
> > (Location はレスポンスヘッダに載っています)

>
> 多分、response body の長さを表すので、適当にセットしても、
> Apache が計算し直すのではないかと思います。

計算し直して出力してくれればありがたいのですが、レスポンスヘッダに
載ってきません。


> ここの 222 という長さはどこかで計算していますか?
適当です。。。

> Respose Body は空 ("") ということでしょうか?
その通りです。このリクエスト自体は要らないので、空にしました。
ちなみに、このように空にしておいて、かつ
apr_table_set(r->headers_in, "Content-Length", "0");
とやってみましたが、現象はまったく同じでした。

> >
> > 以下のようになってしまいます。
> > =================================================
> > Date: Fri, 05 Dec 2008 09:02:06 GMT
> > Server: Apache
> > Location: http://hogehoge.jp/?act=redirect
> > =================================================
> >
> > Content-Length をレスポンスヘッダに載せる方法を、ご教示頂けないでしょうか。
> >
> > (うまく行っていないソースは以下のとおりです。一部変更してあります)
> >
> >
> > static int confused_handler(request_rec *r){
> >
> > char *url = (char *)ap_construct_url(r->pool, r->unparsed_uri, r);
> > char *redirect;
> > redirect = (char *)apr_psprintf(r->pool, "%s?%s", url, "act=redirect");
> >
> > apr_table_set(r->headers_out, "Location", redirect);
> > apr_table_set(r->headers_out, "Content-Type", "text/html; charset=Shift_JIS");
> > apr_table_set(r->headers_out, "Content-Length", "222");
>
> ここの 222 という長さはどこかで計算していますか?
> >
> > ap_rputs("", r);
>
> Respose Body は空 ("") ということでしょうか?
>
> >
> > return 302;
> > }
>
>
>
> --
> 菊地時夫 tkikuchi@ is.kochi-u.ac.jp
> http://weather.is.kochi-u.ac.jp/
> 〒780-8520 高知大学理学部情報科学教室
>
> --
> 入退会・変更・配送一時停止は以下へ
> http://mm.apache.jp/mailman/listinfo/apache-users

--
入退会・変更・配送一時停止は以下へ
http://mm.apache.jp/mailman/listinfo/apache-users


投稿者 xml-rpc : 2008年12月 8日 22:01
役に立ちました?:
過去のフィードバック 平均:(0) 総合:(0) 投票回数:(0)
本記事へのTrackback: http://hoop.euqset.org/blog/mt-tb2006.cgi/79825
トラックバック
コメント
コメントする




画像の中に見える文字を入力してください。