是這樣的:我們這裡有一個網域上了CDN,本來是快取一些IMG和JS等一些靜態資源的。但因為業務需求,我們新加入了一個動態php檔案做介面來接受一些使用者的回饋內容。
然後今天在這個介面在線上出了一點小問題我要去調試發現,我改完代碼後刷新竟然不起作用,但是我的鏈接改動參數就代碼就起作用,當時我懷疑這個鏈接是被CDN緩存了,但是運維告訴我CDN不會快取動態內文件。然後我去測試看nginx日誌刷新網頁確實沒有訪問日誌。
最後運維把連結發給cdn廠商分析,確實是快取了。 CDN那邊配置的遵循來源站的策略,預設的話,我們沒有設定PHP檔案不緩存,就幫我們緩存了24小時
設定PHP不快取的話我們需要在nginx設定檔location中加入header
<code><span>//配置PHP不缓存</span> location ~ <span>.</span><span>*\</span><span>.</span>(php<span>|</span>php5)<span>?</span>$ { add_header <span>Cache</span><span>-Control</span> no<span>-cache</span>; } <span>//配置缓存2分钟</span> location ~<span>*</span> ^<span>.</span><span>+\</span><span>.</span>(js<span>|</span>css)$ { expires <span>120</span>s; }</code>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i ').text(i)); }; $numbering.fadeIn(1700); }); });
以上就介紹了 切莫讓CDN快取裡你的動態文件,包括了方面的內容,希望對PHP教學有興趣的朋友有幫助。