背景:我有一个网站,我们称之为 AwesomeSite.com;它处理我所有的流量。此外,出于营销目的,我有第二个域,我们将其称为 PromoForAwesomeSite.com;它将所有流量直接重定向到 AwesomeSite。这两个站点都是使用 PHP、MySQL 和 Apache 构建的。
问题:我想根据用户访问我网站的方式向他们提供不同的内容。具体来说,如果用户是从 PromoForAwesomeSite 重定向的,我想显示促销。
问题:我如何检测到用户来自 PromoForAwesomeSite 并因此为他们创建不同的 session 状态?
附注我很清楚这种方法的缺点,一旦 session cookie 被删除,促销用户将无法看到促销内容,除非他们重新访问重定向站点(不太可能)。不幸的是,这无能为力。
最佳答案
您可以使用 $_SERVER['HTTP_REFERER']
并查看在引用字符串中是否包含 PromoForAwesomeSite.com
。例如这样的事情:
session_start();
if(substr_count($_SERVER['HTTP_REFERER'] , 'PromoForAwesomeSite.com')){
$_SESSION['from_promo'] = 1;
}
由于引荐来源网址可能会被浏览器阻止,因此您可能会研究在促销网站的重定向字符串中发送 GET 参数的可能性。不确定你是如何从你的促销网站重定向的,但如果它是 PHP 你可以做这样的事情,否则你会明白我的意思:)
HEADER('Location: http://AwesomeSite.com/index.php?from=promo');
因此,除了(或除此之外)检查引荐来源网址,您还可以检查此字符串并保存在 session 中。
关于php - 从引荐来源创建 session ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6983886/