簡體   English   中英

設置過期標頭而不在PHP中啟用mod_expires或mod_headers可能嗎?

[英]Set expires headers without enabling mod_expires or mod_headers possible in php?

我正在用php建立留言簿。 當我使用SEO檢查器檢查頁面時,它說我應該設置過期標題。 這是我第一次使用expires頭文件,並且嘗試將它們添加到.htaccess文件中,該文件失敗了,因為服務器上既沒有mod_expires也沒有mod_headers,並且我將無法更改它。 我的問題是,是否有可能在我的php代碼中設置這些有效的標頭,而無需啟用mod_expires或mod_headers? 如果是這樣,我將如何在我的代碼中實現它才能起作用? 如果您想給我答案“ with header(....)”,請解釋如何設置它以及將其放置在哪里,我不僅要復制粘貼代碼,還想學習如何做它。

我想為樣式表(css)設置圖片(jpg / jpeg / gif / png)的過期標頭(如果可能)。

在下面,我列出了我已經檢查過的關於StackOverflow的問題,但是對於像我這樣的新手來說,其中一些問題確實很難理解,或者它們從未真正得到答案。 他們中的一些人從來沒有說過要在哪里實現代碼段,這使得很難使用公認的答案。

我是編程網頁的新手,所以請寫出為什么要做什么的解釋,以便將來學習。 如果您需要更多信息,請隨時在評論中寫下。 我將盡力回答。 謝謝。

(已檢查的問題:

PHP版本:7.0.10

(PS:我不知道為什么不啟用mod_headers和mod_expires,但是我確信該公司不會僅出於我的小項目而更改它。)

您無法使用不涉及PHP的PHP進行設置。通常,您的Web服務器提供圖像和靜態文件,因此Web服務器必須為您處理expire頭。 實際上,不建議所有其他事情,例如,使用PHP提供圖像,並且比正確配置Web服務器需要更多的工作。

因此,靜態文件(圖像,javascript等)的過期標頭是由您的網絡服務器而非PHP管理的。

提示:在大多數默認的虛擬主機服務上,已安裝apache,因此您可以使用.htaccess文件正確設置這些內容。

編輯,更多說明:對於要設置過期標題的文件,您必須區別對待。 當然,您也可以在PHP文件中設置expire標頭,但這只會影響PHP提供的頁面。 而且php通常用於顯示動態網頁,因此,這里的expire標頭沒有任何意義。 靜態映像和所有這些文件永遠都不會傳遞給PHP,因此您必須在Web服務器配置中設置expire。 並且由於圖像和其他靜態文件是不會更改(或不經常更改)的靜態文件,因此建議設置到期標頭以允許瀏覽器正確緩存它

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM