【问题标题】:Session cookies working on all subdomains会话 cookie 适用于所有子域
【发布时间】:2017-03-30 17:13:10
【问题描述】:

我的网站是这样设置的:

RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.example\.com [NC]
RewriteRule ^/?$ /user/profile.php?name=%1 [L]

如果用户访问:test.example.com,它将显示文件夹的内容:example.com/user/profile.php?name=test。如果有人去lol.example.com,它将显示页面:example.com/user/profile.php?name=lol


问题 1:

现在,我遇到了问题。如果我去test.example.com/login,它将显示我的域根文件。我怎样才能让它显示 /user 文件夹中的东西?例如:test.example.com/login 将显示 example.com/user/logintest.example.com/register 将显示 example.com/user/register?

问题 2:已解决

现在如果我登录子域,会话 cookie (PHP) 仅为子域设置。我怎样才能使 cookie 为具有 (example.com) 域的整个站点工作?

谢谢

更新:例如:test.example.com/pathtofile 应该得到example.com/user/pathtofile 的内容。 “pathtofile”应该是动态的。我只想查看文件夹/用户的路径,而不是根文件夹。

【问题讨论】:

  • 不确定 htaccess 问题,但对于第二个问题,您需要将域设置为 *.example.com。
  • [php.net/manual/en/function.session-set-cookie-params.php]session_set_cookie_params(0, '/', '*.example.com');
  • 我弄清了 cookie 的问题,必须清除历史记录、缓存、cookie 等......
  • 不是$1吗?
  • @LFlare 你能给我代码吗?不知道你在说什么,谢谢

标签: php .htaccess session cookies subdomain


【解决方案1】:

试试这样的

RewriteCond %{HTTP_HOST} !^www\.example\.com
RewriteCond %{HTTP_HOST} ([^.]+)\.example\.com [NC]
RewriteRule ^/?$ /user/profile.php?name=%1 [L]
RewriteRule (.*) /user/$1 [L]

【讨论】:

  • 感谢您的回答。但它不仅页面登录和注册。例如:test.example.com/pathtofile 应该得到example.com/user/pathtofile 的内容。 “pathtofile”应该是动态的。我只想查看文件夹/用户的路径,而不是根文件夹。
  • @baileyJchoi 试试这个。它应该满足您的所有需求。
猜你喜欢
  • 2012-06-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-07-01
  • 1970-01-01
  • 2022-06-17
  • 2023-01-29
  • 1970-01-01
相关资源
最近更新 更多