4

我们正在创建Sitemap XML -files 并在 Google Webmaster Tools 中指向它们,它偶尔会为某些文件提供以下错误消息:

压缩错误

谷歌文档中的“如何修复”并没有真正给出任何可能出错的提示。

该文件在 .NET 中生成,并使用System.IO.Compression.GZipStreamMSDN 推荐的使用方式进行压缩。

当我们以7-zip打开文件并重新保存文件时,它确实有效,没有任何更改。

有什么提示吗?

4

3 回答 3

1

好的,这是我对这个问题的看法。很明显,System.IO.Compression.GZipStream生成的文件没有损坏,但仍有小问题,不喜欢谷歌。

直接的解决方案和检查将是切换到其他压缩库,看看是否有帮助。

更复杂一点的解决方案是对GZIP 文件格式规范进行严格检查。具体来说,我会检查(比较)文件的标题(原始文件和 7zip)。这样,您可能会发现文件有问题,并可能修复它。

于 2014-02-18T13:04:58.330 回答
0

+1 @Akash 的回答。尝试访问压缩内容时,我在 IIS(尤其是 IIS 6)中遇到了问题。让IIS来做压缩,把解压后的xml文件放在方便的地方就行了。

于 2014-02-24T04:40:57.950 回答
0

如果您有权访问 .htaccess 文件,那么我会为您提供一些编辑它的提示,并让您的所有文件将被自动缓存和压缩。好的,这里是放入包含 .htaccess 文件的网站根目录的提示。

## EXPIRES CACHING ##
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access 1 year"
ExpiresByType image/jpeg "access 1 year"
ExpiresByType image/gif "access 1 year"
ExpiresByType image/png "access 1 year"
ExpiresByType text/css "access 1 month"
ExpiresByType text/html "access 1 month"
ExpiresByType application/pdf "access 1 month"
ExpiresByType text/x-javascript "access 1 month"
ExpiresByType application/x-shockwave-flash "access 1 month"
ExpiresByType image/x-icon "access 1 year"
ExpiresDefault "access 1 month"
</IfModule>


<IfModule mod_headers.c>
  <FilesMatch "\.(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

# compress text, html, javascript, css, xml:
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/javascript
AddOutputFilterByType DEFLATE application/x-javascript

您可以检查您的站点地图是否会通过诸如 woorank.com 之类的工具进行压缩,它会显示是,您的站点利用了 Gzip,是的,当 Google 抓取您的站点地图和上述代码中包含的任何其他文件时,它会自动完成

于 2014-12-21T13:41:24.380 回答