引:http://hi.baidu.com/comdeng/blog/item/644f11fa73b51a9d58ee9052.html
四、重定向情况下的传递 通过第二部分,我们已经能把页面输出的sessionId传递解决掉了,但这还不是全部。比如,我们经常会通过设置header来进行页面的重定向。 header(‘Location: /hello.php’); 在这种情况下,很显然,php并不会去处理。那么,我们还是需要自己手动来进行调整了。代码如下: <?php ini_set('session.use_trans_sid',1); $tags = ini_get('url_rewriter.tags'); ini_set('url_rewriter.tags',$tags.',iframe=src,img=src'); session_start();
function get_redirect_url($url) { $sessionkey = ini_get('session.name'); $sessionId = session_id(); if (strpos($url,'?') !== false) { $tag = '&'; } else { $tag = '?'; } $url .= $tag.$sessionKey.'='.$sessionId; return $url; }
$rurl = get_redirect_url('/hello.php'); header('Location: '.$rurl); ?> 通过get_redirect_url函数,我们就能将重定向的网址也支持传递sessionId了。 太好了,又解决了一种情况。 |