2013-01-04 44 views
3

以前我担任图片为我的网站(http://example.com):和http://example.com/pics建立来自这两个文件夹一个cookie少子域

现在我已经创建了一个子域img.examole.com并将这些文件夹移至http://img.example.com/picshttp://img.example.com/images位置。我还通过编辑.htaccess文件阻止了对http://example.com/img文件夹的访问,以便不能将子域作为主站点的目录进行访问。它只能被访问为http://img.example.com

我怎样才能使这个http://img.example.com子域一个饼干少子域?或者我可以将这个http://img.example.com子域添加到cloudflare?我不想将主域http://example.com添加到云耀斑。当我试图从我的CPanel添加http://example.com到云闪光时,它显示:

类型记录不能通过CloudFlare网络直接路由。相反,请点击此处并切换img.example.com的类型。到CNAME

我在我的所有文章中将图像位置更改为http://img.example.com/pics。如何解决这个问题? plz帮助..

+0

你想要什么具体解决?在你的'问题'上有很多开放的问题。是它如何使用你的网站cloudflare?或者如何为你的img子域创建.htaccess文件? – reikyoushin

回答

4

无Cookie且由CDN提供服务是域的无关属性。

要为您的网站制作一些不需要Cookie的域名,您不应该在该域名上设置Cookie,并确保您在网站上使用的其他第三方代码不会这样做。

避免来自example.com的cookies不能在子域上可见(通常从2个位置www.example.com和example.com提供站点)通常很不方便。如果您只是在example.com上拥有cookie,请确保所有set-cookie标头指定了确切的域(“example.com”而不是“.example.com”),以便在任何子域中都不会显示Cookie。另一种选择是将主站点移动到子站点并在那里设置cookie(即www.example.com),而不是cookies不会“泄漏”到兄弟子站点(即“img.example.com”)

它在完全独立的域名上托管静态内容可能是更好的主意 - 更容易控制cookie和更多CDN可能性(即在某些情况下,来自CDN的HTTPS流量可能需要针对定制和CDN提供的域的不同操作)。

+0

嗨,在我的wp-config.php文件中没有'COOKIE_DOMAIN'条目 –

+0

@AnikChakraborty,我没有意识到你有一些PHP specfic问题......不幸的是,我不知道如何在PHP中配置cookie。 –

1

浏览器会以不同的方式查看example.com和www.example.com。如果您在example.com上设置cookie,那么它会根据对www.example.com和cookie-free.example.com的请求查找它们,我期望这是您无法获得无Cookie cookie的子域名的原因(因为顶级有饼干)。 最佳做法是使用www.example.com作为您的网站,并在那里设置cookie,然后如果您使用cookie-free.example.com(另一个子域名,如www),则它不会拥有自上而下查找的Cookie通过浏览器。

有关更多信息,请参见http://developer.yahoo.com/performance/rules.html#cookie_free

-1

正如其他人说这里有两个不同(但相关的)问题:

  1. 配置服务器/应用程序从一个cookie的子域
  2. 利用CloudFlare的交付静态资产的资产服务。

对于问题#1,您需要确保您没有将Cookies分配给整个域(这就是为什么建议使用www。)。这里有很好的信息: Serving Static Content from a Cookieless Domain and here:4 Steps To Serve Static Content From Cookieless Subdomain - 这两篇文章都提到了关于'COOKIKE_DOMAIN'设置的WordPress问题。

本质上,您需要确保像Google Analytics和WordPress这样的应用程序不要在域级别设置Cookie,而是将其限制在www子域。

对于问题2,CloudFlare的自我陈述,他们分配饼干每一个静态的请求:

的CloudFlare将安全Cookie添加到正由我们的服务代理的任何域或子域。此外,由于CloudFlare默认已经缓存了您的静态内容,因此实际上不需要拥有无Cookie的域名。

KB - Can I serve a cookieless domain or subdomain through CloudFlare?

相关问题