Apache MOD_REWRITE域级Cookie

时间:2008-10-23 09:30:08

标签: apache mod-rewrite cookies

我需要在我们的网站上处理联盟跟踪。

在我们的.htaccess中,我们有:

RewriteCond %{QUERY_STRING} affiliate=(.*)
RewriteRule ^(.*)$ $1?  [NC,R,L,co=AFFID:%1:%{HTTP:Host}:7200:/]

使用URL参数affiliate的值创建一个名为AFFID的COOKIE。

但Cookie并不适用于整个域名,即转到http://www.domain.com/?affiliate=bmk设置AFFID cookie的值为bmk for .do.domain.com但我希望我能为.domain.com这样做它可以在我们的安全域中使用,这将是secure.domain.com

任何帮助将不胜感激

干杯

1 个答案:

答案 0 :(得分:2)

为什么不对它进行硬编码?

RewriteRule ^(.*)$ $1?  [NC,R,L,co=AFFID:%1:.domain.com:7200:/]

如果您不能这样做,那么您必须匹配域名,如此(未经测试):

RewriteCond %{QUERY_STRING} affiliate=(.*)
#This would work only for xxx.dom.com or dom.com forms, not for x.y.dom.com
RewriteCond %{HTTP_HOST} [^.]*?\.?([^.]+\.[^.]+) 
RewriteRule ^(.*)$ $1?  [NC,R,L,co=AFFID:%1:.%2:7200:/]