删除文件名时,PHP会话丢失

时间:2013-03-08 20:06:38

标签: php .htaccess session ini

这是一个很快的问题,这已经困扰了我很长一段时间了!

我有一个页面www.example.com/dir/index.php,用于设置$_SESSION变量。我在www.example.com/dir/dir2/dostuff.php上再次访问此变量,这很好用!

但是,如果我将会话设置为www.example.com/dir/,则不会在www.example.com/dir/dir2/dostuff.php中设置。

我用

重写了.htaccess
RewriteRule ^.*\/dir\/$ /dir/index.php [NC]

并使用:

在index.php中设置我的php.ini
ini_set('session.cookie_domain', '.example.com');

然而没有结果。 有没有人有任何建议?

更新

简而言之,index.php只需运行:

if (!isset($_SESSION)) session_start();
$_SESSION['param'] = "val";

dostuff.php运行:

if (!isset($_SESSION)) session_start();
echo $_SESSION['param'];

1 个答案:

答案 0 :(得分:0)

来自session_start

  

session_start()根据通过GET或POST请求传递的会话标识符创建会话或恢复当前会话,或通过cookie传递。

如果您想访问session_start()个变量,则应无条件地致电_SESSION