2009-07-22 41 views
9

我正在嘗試關注these guidelines以加快我的網頁加載速度。Apache/PHP爲子域禁用Cookies?

我已經創建了一個靜態子域來加載靜態內容,但它建議我不要在這個子域發送cookie,關於我如何能夠在Apache/PHP中做到這一點的任何想法?

我已經搜索周圍,什麼也沒有提出。

+0

如果您在父域(即可能是裸露的域)上需要cookie,您必須將`domain`屬性設置爲`null`。否則,你可能會發現[`$ cookie-> setDomain($ domain)`](https://github.com/delight-im/PHP-Cookie/blob/004cde69ec840e65c15275e09b92ecb1da06f357/src/Cookie.php#L117)有幫助,因爲在[這個獨立的庫]中找到(https://github.com/delight-im/PHP-Cookie)。 – caw 2016-09-21 02:32:45

回答

6

如果您從未明確設置cookie,則服務器上不會顯示cookie。因此,如果您僅將第二個域用作圖像或CSS文件的存儲庫,則很可能不會設置cookie。

更新時間評論。

如果您看到一個'Request'Cookie標頭,但您不想擁有Cookie,請清除Cookie並查看服務器是否曾在Response標頭中發送Cookie標頭。如果確實如此,則可能啓用了session.auto_start,或者您有一個用於設置Cookie的腳本。

您可以使用類似Google Page Speed的Firebug來檢查請求和響應頭。

+0

感謝您的幫助,我認爲Cookie設置爲谷歌頁面速度firebug插件正在從靜態子域名中識別出css文件,圖像等,因爲具有cookie並使用該工具我實際上可以在Cookie字段中看到一些數據文件。有沒有一種方法可以檢查cookie是否被明確設置? 此外,cookie中的數據看起來像包含主www網站,phpsession ID等的數據。 – stukerr 2009-07-22 15:02:29

0

您可以在PHP中輕鬆處理此問題。設置cookie時,需要設置的參數是域參數。通常,這將設置爲「.domain.com」,以使其在任何子域中都可用。相反,您可以嘗試將其設置爲「www.domain.com」以將其限制到該域。查看PHP手冊的setcookie() documentation