当www前缀为url时,会话中断

时间:2015-04-07 02:34:23

标签: php .htaccess session

如何使用$ _SESSION变量修复此问题?

我在http://www.example.com时出现会话变量,并运行此代码:

echo 'Printing session variables: <br><br><pre>';
foreach ($_SESSION as $key=>$val)
echo $key. ": ".$val. "<br>";
echo '</pre>';

但是,如果我在http://example.com,则没有会话变量。

我怎样才能使$ _SESSIONs工作相同,无论www.是否加前缀?

我希望该网站默认为http://example.com,而不是http://www.example.com

2 个答案:

答案 0 :(得分:0)

简单的回答是在.htaccess文件中添加一行以强制网址使用www。或没有www。

答案 1 :(得分:0)

The Guest的评论中,我找到了使用.htaccess文件重写URI的正确解决方案,以便将www前缀重写为非www表单,这是评分最高的答案here的略微变化:

RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.example\.com
RewriteRule ^(.*)$ http://example.com/$1 [R=permanent,L]

Original answer默认为www.example.com URI表单;上述变体默认将所有内容默认为 non-www URI表单。