因此,我需要使用php检查引用程序到页面的引用,如果是的话。*.example.com,或*.另一个site.com,执行代码,但如果不是,则重定向到其他地方。
我该如何检查HTTP_引用者等于那些值,具有通配符吗?编辑:url将包含多个域,因此regex需要匹配第一次发现的结果。
发布于 2018-06-21 10:15:28
$ref = $_SERVER['HTTP_REFERER'];
if (strpos($ref, 'example.com') !== FALSE) {
redirect to wherever example.com people should go
}
if (strpos($ref, 'example.org') !== FALSE) {
redirect to wherever example.org people should go
}
当然,这只有当推荐人是“好”的时候才有效。例如,来自Google的搜索词中可能有“example.org”,在这种情况下,strpos会看到它并进行重定向,即使您来自Google。
发布于 2018-06-21 11:15:54
preg_match('/(.+?)\.example\.(com|org)/',$_SERVER['HTTP_REFERER'])
这将只匹配具有子域的地址,并且它也不会继续寻找任何超越subdomain.example.com
或.org
..subdomain.example.com/some-other-stuff
。你也需要匹配这些吗?
更正-这将匹配www.example.com
但不匹配example.com
。
https://stackoverflow.com/questions/-100001678
复制相似问题