如何使用$_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
上,则没有会话变量。
无论是否以www.
为前缀,我如何使$_SESSION工作相同?
我希望站点默认为http://example.com
,而不是http://www.example.com
简单的答案是在.htaccess文件中添加一行,以强制URL使用www.或不使用www.
根据The Guest
的评论,我找到了使用.htaccess
文件重写URI的正确解决方案,以便将www
前缀重写为非www形式,这与这里的最高评级答案略有不同:
RewriteEngine on
RewriteBase /
RewriteCond %{HTTP_HOST} ^www.example'.com
RewriteRule ^(.*)$ http://example.com/$1 [R=permanent,L]
原始答案默认为www.example.com
URI形式;上述变体将所有内容默认为non-www
URI形式。