如何在这些Yslow规则上获得A级?

时间:2010-06-08 02:36:48

标签: php performance xhtml yslow http-compression

  • 使用内容分发网络(CDN)

  • 使用gzip压缩组件

  • 配置实体标签(ETags)

  • 添加过期标题

如果我无法访问Apache配置。

4 个答案:

答案 0 :(得分:1)

  

使用内容分发网络(CDN)

这涉及更改您的托管(至少某些文件)

  
      
  • 使用gzip压缩组件
  •   
  • 配置实体标签(ETags)
  •   
  • 添加过期标题
  •   

你可以:

  1. 访问您的Apache配置
  2. 让有权访问它的人改变它

答案 1 :(得分:1)

我发现“HOW TO SPEED UP YOUR SITE AND GET A YSLOW GRADE”对我有用。希望这有帮助。

答案 2 :(得分:0)

如果你在每个其他YSlow规则上都有A级,那么你已经做得很好,不需要担心这些项目。顺便说一句,您可以在YSlow中创建更适合您需求和服务器设置的自定义规则集。因此,如果您无法更改任何这些内容,只需将其从YSlow使用的规则中删除即可。

  

使用内容分发网络(CDN)

您可以在YSlow中将您的站点域添加为CDN。这个的想法是将静态组件存储在不同的域上以增加“并行化”(一次下载更多文件)。如果您使用的是有限的托管,那么您可以打开一个单独的帐户并在其他域上托管一些文件。

  

使用gzip压缩组件

您可以在PHP中执行此操作,在脚本的最开始使用ob_start('ob_gzhandler');。这需要更多的资源,所以尽可能使用Apache。

  

配置实体标签(ETags)

从规则列表中删除它,在90%的情况下都没有必要。雅虎只是说要删除它们,因为在极少数情况下,后端有多个服务器,如果来自不同的服务器,同一个文件可能会有不同的ETag。当每个文件来自一个服务器时,ETag是一件好事,删除它们是有害的。

  

添加过期标题

如果您无法访问服务器,那么您可能无法更改此设置。向你的主人询问一下。您可以覆盖.htaccess文件中的服务器设置。您需要mod_expires Apache模块。 This page有一些使用示例。

答案 3 :(得分:0)

将此代码粘贴到.htaccess文件

的底部
RewriteEngine On
# BEGIN Mod Header

ExpiresActive On
# Turn on Expires and set default expires to 10 years
# END Mod Header

# BEGIN Cache Control

Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"
Header unset ETag
FileETag None

#END Cache Control