【发布时间】:2012-04-02 12:38:59
【问题描述】:
我正在尝试设置一个 cookie 以供不同的虚拟主机使用。类似的问题已在此处多次询问:
Cookies in subdomain doesnt work
how to access cookies on subdomain
Setting cookies on domain/subdomain
cross subdomain login with cookies
他们都提到了“子域”,但没有人描述它是什么。如果我有 2 个这样的 Apache VHost:
<VirtualHost *:80>
ServerName example.com
DocumentRoot /var/www/
...
</VirtualHost>
<VirtualHost *:80>
ServerName home.example.com
DocumentRoot /var/www/home/
...
</VirtualHost>
如果我在 example.com 上登录用户并设置 -- 并确保用深沉的 cookie 怪物声音说出下一个单词 -- cookie 就像这样
setcookie( 'id', '1234', time()+24*3600, '/', '.example.com' );
我可以像这样在 home.example.com 上获得id:
RewriteCond %{HTTP_COOKIE} \bid=[0-9]+\b
或者这些跨域 cookie 仅在子域完全设置在单个虚拟主机中时才有效(可能使用 mod_rewrite)
【问题讨论】:
标签: mod-rewrite subdomain lamp