谷歌网站地图在网站管理员工具中出现 "压缩错误"

问题描述 投票:4回答:3

我们正在创造 网站地图 XML-文件,并在谷歌网站管理员工具中指向它们,这将使 零星 给予以下错误信息 部分文件:

压缩错误

谷歌文档中的 "如何修复" 并没有真正给出任何提示 怎么了.

该文件是在.NET中生成的,并使用以下方法压缩 System.IO.Compression.GZipStream。 并通过 MSDN的推荐使用方式.

它确实有效 当我们在 7-拉链 并重新保存文件即可,不做任何修改。

有什么提示吗?

.net compression gzip google-webmaster-tools xml-sitemap
3个回答
1
投票

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

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

稍微复杂一点的解决方案是严格的检查 GZIP文件格式 规格。具体来说,我会检查(比较)文件的头部(原始和7zip)。这样你就有可能发现文件有问题,并有可能修复它。


0
投票

+1支持@Akash的回答。 我在IIS(尤其是IIS 6)中尝试访问压缩内容时遇到了麻烦。 让IIS来做压缩,只是把未压缩的xml文件放在一个方便的位置。


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的优势,是的,它将自动完成,当谷歌抓取你的网站地图和任何其他文件包括在上面的代码。

© www.soinside.com 2019 - 2024. All rights reserved.