我使用gzip工具gzipped javascript文件并将其放在我的asp.net项目中。现在我想将这个压缩的js与同一个项目中的htm页面链接起来。我试过了
<script type="text/javascript" src="Communicator.js.gz"></script>
但是没有用......有没有办法把它们联系起来?
答案 0 :(得分:0)
虽然不寻常,但显然可以这样做:
压缩脚本后,您可能需要添加重写规则,告诉浏览器在.htaccess
(或等效)文件中执行的操作:
AddEncoding gzip .gz
RewriteCond %{HTTP:Accept-encoding} gzip
RewriteCond %{HTTP_USER_AGENT} !Safari
RewriteCond %{REQUEST_FILENAME}.gz -f
RewriteRule ^(.*)$ $1.gz [QSA,L]
这假设您正在运行mod_rewrite
或mod_rewrite
相似的重写器(例如IIS上的ISAPI_Rewrite3)。
如果你在IIS7.x上运行,那么你需要创建一个IIS7 UrlRewrite规则,它看起来像:
<system.webServer>
<rewrite>
<rules>
<rule name="Imported Rule 1" stopProcessing="true">
<match url="^(.*)$" ignoreCase="false" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_ACCEPT_ENCODING}" pattern="gzip" ignoreCase="false" />
<add input="{HTTP_USER_AGENT}" pattern="Safari" ignoreCase="false" negate="true" />
<add input="{REQUEST_FILENAME}.gz" matchType="IsFile" ignoreCase="false" />
</conditions>
<action type="Rewrite" url="{R:1}.gz" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
上述规则是由IIS7的UrlRewrite mod_rewrite
导入工具生成的,未经测试。
正如我上面所说,这将是一个相当不寻常的情况,因为大多数Web服务器现在都配置为在可能的情况下缩小或压缩内容。