2016-09-27 90 views
0

我在建立一個留言簿。當我用SEO檢查器檢查頁面時,它說我應該設置過期標題。這是我第一次使用expires頭文件,並且我嘗試將它們添加到.htaccess文件中,因爲服務器上都沒有mod_expires和mod_headers,因此我無法對其進行更改。我的問題是,如果有可能在我的php代碼中設置這些expires頭文件而沒有mod_expires或mod_headers?如果是這樣,我將如何在我的代碼中實現它,以便它可以工作?如果你想給我的答案「頭(....)」請解釋如何設置這個,並把它放在哪裏,我不只是想複製粘貼代碼,我想學習如何做它。設置過期標題,而不啓用mod_expires或mod_headers可能在PHP?

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

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

我很新的編程網頁,所以請寫下解釋爲什麼我應該做什麼,所以我會在未來學到它。如果您需要更多信息,請不要猶豫在評論中寫下。我會盡力回答。謝謝。

(已籤的問題:

PHP的版本:7.0.10

(PS:我不知道爲什麼和mod_headers中指定mod_expires不在,但我敢肯定,該公司將不會改變只是爲了我的小項目)。

回答

1

你不能在PHP中沒有涉及的地方設置一些東西。通常你的web服務器提供圖像和靜態文件,所以web服務器必須爲你處理過期標題。所有其他事情,例如用PHP提供圖像,實際上並不推薦,並且需要比僅僅正確配置web服務器更多的工作。

因此,爲靜態文件(圖片,JavaScript等等)過期頭文件由您的網絡服務器管理,而不是PHP。

提示:在大多數默認WebHosting服務是安裝Apache,所以你可以使用.htaccess文件來正確設置這些東西。

編輯,更多解釋: 您必須區分哪些文件要設置過期標頭。當然,您也可以在PHP文件中設置過期標題,但這隻會影響PHP提供的頁面。而且php主要用於顯示動態網頁,所以這裏的過期標題是沒有意義的。靜態圖像和所有這些文件永遠不會傳遞給PHP,所以你必須在web服務器配置中設置過期。由於圖像和其他靜態文件是靜態文件,不會改變(或不經常),建議設置過期標題以允許瀏覽器正確緩存

+0

爲什麼要設置expires頭文件呢?爲什麼在一些答案中,我看到他們在php中設置過期標題?此外,我已經寫道,我試圖使用.htaccess文件,因爲無論mod_expires還是mod_headers都沒有啓用... – Kathara

+1

@Kathara你必須區分哪些文件要設置過期頭。當然,您也可以在PHP文件中設置過期標題,但這隻會影響PHP提供的頁面。而且php主要用於顯示動態網頁,所以這裏的過期標題是沒有意義的。靜態圖像和所有這些文件永遠不會傳遞給PHP,所以你必須在web服務器配置中設置過期。由於圖像和其他靜態文件是「靜態」文件,不會改變(或不經常),因此建議設置過期標題以允許瀏覽器正確緩存。 –

+0

感謝您的澄清。如果沒有mod_expires或mod_headers,你會不知道設置過期頭文件的方式嗎? – Kathara

相關問題