2016-09-27 86 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

相关问题