从$ _SERVER ['SERVER_NAME']中移除子域名

Ste*_*tef 7 php regex subdomain dns pattern-matching

我需要创建一个脚本,它将从$ _SERVER ['SERVER_NAME']中删除子域,以便在setcookie函数的domain选项上使用它,以允许在所有可能的子域上访问cookie.

例如,假设我有

function strip_out_subdomain($domain)
{
    //do something to remove subdomain
    return $only_my_domain;
}
$domain = strip_out_subdomain($_SERVER['SERVER_NAME']);
setcookie('mycookie', '123', time()+3600, '/', $domain);
Run Code Online (Sandbox Code Playgroud)

这里的主要问题是我不知道我的域的模式.它可能是这样的:

  • www.mydomain.com
  • subdomain.mydomain.com
  • subdo.mydo.co
  • subdo.subdo.mydomain.com
  • subdo.subdo.mydo.co.uk
  • 等等

谢谢

斯蒂芬妮

KDr*_*ske 3

是否可以在服务器配置(httpd.conf、.htaccess)中定义变量?它需要一些额外的初始管理,但至少可以在一个中心位置完成。

我能够在 Apache 中设置一个变量

SetEnv MY_DOMAIN mydomain.com
Run Code Online (Sandbox Code Playgroud)

可以在 PHP 中使用:

$_SERVER['MY_DOMAIN']
Run Code Online (Sandbox Code Playgroud)