携帯でリダイレクトした際にセッションが切れてしまう件。

( PHP )

携帯版ではまってしまったのでメモ

携帯は基本的にはセッションはパラメータで引き回すようにしています。 しかし、リダイレクト時には自動的にはセッションIDは引き回さないようPHPの仕様でなっています。 そこで、リダイレクト時にもセッションを引き回せるように手動でセッションを引き回すように処理を 加えたのですがなぜかリダイレクト先の処理側でセッションが新しく生成されてしまう。

そう、セッションを引き回していなかったのです。

「加藤さん事件です。」(レポーター風)

一応セッション設定チェック

;----- mobile {-----
resources.session.use_only_cookies      = false
resources.session.use_cookies           = false
resources.session.use_trans_sid         = true
;----- mobile }-----

なんら問題無し。

各処理でのサーバ情報ゲット

[QUERY_STRING] =>
[REQUEST_URI] => /test.php

!?

むむむ、URI自体に問題があるのか。

そういえばリダイレクト先にパラメータとは別に「#top」なんてものも追加していた。。。

http://nakajijapan.net/test.php#top?PHPSESSID=xxxxxxxxxxxxxxx

だとだめで

http://nakajijapan.net/test.php?PHPSESSID=xxxxxxxxxxxxxxx#top

「#」が前に来るか後にくるかででパラメータを認識してくれないようですね。

RFCの決まりごと的には最初にqueryの解析を始めるからそれでもうないって認識されてしまったのかもね。

結構単純なことでした。。

■参照URL URI - Uniform Resource Identifiers

iers