我們有一個網站,匿名用戶內容通常是靜態的(每小時更新一次),並且每個用戶的登錄用戶的內容都不相同,因此經常更新。Can Cloudflare可以爲匿名用戶緩存HTML,但未登錄用戶?
是否可以配置cloudflare,以便爲匿名用戶緩存HTML但未登錄用戶,因爲兩者的URL相同?
是否有任何我們可以設置的相關緩存標頭?
我們有一個網站,匿名用戶內容通常是靜態的(每小時更新一次),並且每個用戶的登錄用戶的內容都不相同,因此經常更新。Can Cloudflare可以爲匿名用戶緩存HTML,但未登錄用戶?
是否可以配置cloudflare,以便爲匿名用戶緩存HTML但未登錄用戶,因爲兩者的URL相同?
是否有任何我們可以設置的相關緩存標頭?
我一直在與同樣的情況下掙扎,並且據我所知沒有辦法, 在cloudflare中,您可以設置頁面規則,但這些只會查看URL本身。
因此,我認爲將有diferent URL對各種用戶的(一些額外的參數,或者一個子域)的唯一解決方案,那麼你會很容易設置的規則手動強制緩存過期時間
我不確定這是否會起作用,但我認爲可以這麼做的唯一方法是通過HTTP/HTTPS,因爲您可以在CloudFlare頁面規則中使用它。
因此,如果您將WordPress FORCE_SSL_ADMIN常量設置爲true,然後將所有登錄的用戶URL請求重定向到頁面的HTTPS模式,這可能會訣竅,從而可以繞過CloudFlare緩存?
這是不可能的,除非您在企業計劃級別。
從here
溶液添加專用高速緩存控制頁面標題:
//recommended by cloudflare for logged in users
if (is_user_logged_in()) {
header(‘Cache-Control: private, max-age=3600’);
}
是。 Cloudflare says它會尊重請求不緩存的元標記,因此只需將這些標記添加到登錄用戶頁面的標題部分即可。
例子(使用智者)
{if $loggedin}
<meta http-equiv="cache-control" content="no-cache" />
{/if}
(使用PHP)
if($loggedin)
{
echo "<meta http-equiv=\"cache-control\" content=\"no-cache\" />";
}
你如何用這個得了嗎?有更好的解決方案 – steve0nz 2017-02-27 04:40:27