Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/.htaccess/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP会话在htaccess重定向条件下消失-仅在Chrome中_Php_.htaccess_Session - Fatal编程技术网

PHP会话在htaccess重定向条件下消失-仅在Chrome中

PHP会话在htaccess重定向条件下消失-仅在Chrome中,php,.htaccess,session,Php,.htaccess,Session,我的项目就在这个问题上 我的htaccess中有这段代码来实现一个平面url系统 Options +FollowSymlinks RewriteEngine on RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteCond %{REQUEST_URI} !^/page.php RewriteRule (.*) page.php?pid=$1 [QSA] 当此

我的项目就在这个问题上

我的htaccess中有这段代码来实现一个平面url系统

Options +FollowSymlinks
RewriteEngine on
RewriteBase /

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} !^/page.php
RewriteRule (.*) page.php?pid=$1 [QSA]
当此代码存在时,我无法访问在任何其他页面的一个页面上创建的会话变量。即使页面是不经过重定向的static.php页面,会话也会消失。只有这段代码以某种方式阻止会话

我已经设置了会话cookie路径和域,以确保域是正确的,但它不起作用

任何帮助都将受到我衷心的感谢

有趣的是,它只在Chrome上失败

根据您的评论:

我已设置此附加代码以确保会话cookie处于 正确的路径和域。ini\u集('session.cookie\u域', “.bostonairporttaxicab.com”);ini\u集('session.cookie\u路径', “bostonairporttaxicab.com/”;)


我认为你的曲奇之路错了。它不应该包含域名,因为路径是域名后面的部分。尝试将其设置为
/
,看看是否可以修复它。可能Chrome对它的解释与其他浏览器不同,因此拒绝了您的会话cookie。

如果Chrome无法使用,那是Chrome的错。。。浏览器在服务器端运行时,无法使用
.htaccess
会话
。您应该通过Chrome从其他计算机上检查它,如果它正常工作,那么这正是您的Chrome故障,我可以肯定这一点…

您是否已在每个页面上启动会话

您必须编写session_start();函数位于文件顶部,紧跟php之后
Htaccess文件在会话中不起任何作用,因为会话变量在会话处于活动状态之前一直处于活动状态。

这可能也值得一问?您是否有其他规则?是否使用了相同的子域?(例如“www”)是的,我已设置此附加代码以确保会话cookie位于正确的路径和域中。ini_set('session.cookie_domain','bostonairporttaxicab.com');ini_集('session.cookie_路径',')@琼林:我没有其他规定。这就是我在.htaccess文件中的全部内容:(“/”是我尝试过的默认设置。因为它不起作用,人们建议使用另一个。我不得不改变整个概念。