【问题标题】:Best way to keep track of subdomain for guests为客人跟踪子域的最佳方式
【发布时间】:2014-01-03 17:23:51
【问题描述】:

我正在尝试为用户创建子域,因为每个用户都有自己的“网站”。 (user.domain.com) 这都是“虚拟的”,因为所有文件、控制器、文件夹等都是相同的。一切都是动态创建的。我想我已经解决了所有的 DNS、mod_rewrite、htaccess 等问题,但我还有另一个问题。

问题在于访客(非用户)访问用户的网站(user.domain.com)时。一个例子来说明这一点:

  1. 访客类型 url 与子域(顺便说一句,我使用的是 php)和控制器根据子域动态加载用户网站。
  2. 访客单击页面上的链接并从服务器获取新页面。问题是新页面不再具有子域,因为所有链接都相同。只有内容不同并且是动态加载的。

所以问题是,我如何跟踪来宾所在的子域?由于客户是访客而不是登录用户,因此我无法查看登录用户的信息。

我只是对最佳实施方式的想法感兴趣。我应该在会话中保留一些变量并在每一页上继续检查吗?我应该为每个链接传递一个 POST/GET 变量,然后让控制器读取它吗?

【问题讨论】:

  • 在会话中保存他的子域。如果他更改了子域,请在会话中重新保存。
  • 您不能在访客访问的第一页的子域中添加所有链接吗?你可以在一个会话中举行这个吗?
  • 在您的第二点中,您说新页面不再有子域。应该有吗?或者您至少应该有一些东西可以保留,或者在您的数据库中您会知道哪种类型的内容适用于哪个子域,然后将其发送到您的视图以跟踪它。
  • 您可以使用您在数据库中的用户特定秘密盐来 md5 域,然后将其存储在会话中,这样您就不必担心其他人更改会话值并获取另一个域的内容等。也许你不需要那么多保密,只需要一个想法
  • 当然你两者都做,将域保存在会话中并预先挂起所有链接,这样用户总是从会话中转到域,只需在每个域上都使用当前域更新会话页面加载,因此它始终是最新的。

标签: php subdomain


【解决方案1】:
 $_SERVER['SERVER_NAME']

这将为您提供域,只需将其保留在会话中即可。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多