AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 23637
Accepted
Armstrongest
Armstrongest
Asked: 2009-06-11 12:05:38 +0800 CST2009-06-11 12:05:38 +0800 CST 2009-06-11 12:05:38 +0800 CST

让 HTTP 压缩 (GZip) 与 IIS 6 上的 URL 路由一起使用

  • 772

我还没有看到任何专门针对这个特定问题的问题。

当使用 URL 路由时,请求进入 IIS,然后被路由到 Aspx 页面。例如,站点:www.site.com/products 可以将请求路由到 wwwroot/inetpub/mysite/pages/productsPage.aspx

重要的是要注意页面是路由的,而不是重定向的。

请注意,要使 URL 在 IIS 6 中正常工作,必须设置通配符扩展,将所有资源路由到 Asp.Net(然后,Asp.Net 将把静态资源交回)这在此处记录: http:// blog.codeville.net/2008/07/04/options-for-deploying-aspnet-mvc-to-iis-6/

似乎 IIS 在将内容发送回时不会对内容进行 GZip。我已按照此处的说明进行操作: http ://www.kavinda.net/2007/02/17/how-to-enable-http-compression-iis6.html

启用 IIS 6 压缩。

知道为什么 Http 压缩似乎不起作用吗?它似乎在我服务器上的其他站点上运行良好。只是带有 URL 路由的那个不起作用

iis-6 compression gzip url-routing
  • 4 4 个回答
  • 3422 Views

4 个回答

  • Voted
  1. Best Answer
    crb
    2009-06-13T12:40:34+08:002009-06-13T12:40:34+08:00

    使用类似这样的方法使您的 ASP.NET 应用程序 gzip 其输出本身。

    • 1
  2. Niels R.
    2009-06-17T00:31:00+08:002009-06-17T00:31:00+08:00

    最好的办法是使用Bel Lowery 的HttpCompress。它是一个简单、免费且开源的 HttpModule,用于处理页面的 HTTP 压缩。您可以将它与 IIS Http 压缩选项结合使用。

    我将 HttpCompress 与 Vici MVC 结合使用,它运行流畅!

    我已经在网上搜索了几个小时,要么使用 HttpCompress,要么购买商业项目(Port80 软件有解决方案),要么编写我自己的 HttpModule。

    PS:IIS根据文件扩展名做HTTP压缩。这就是为什么它不适用于使用 URL 路由的网站。

    • 1
  3. Mathieu Chateau
    2009-06-11T12:11:06+08:002009-06-11T12:11:06+08:00

    你试过这种方式吗? 微软 KB322603

    要使 IIS 5.0 能够压缩 .aspx 页面,请执行以下步骤:

    1. 打开命令提示符。
    2. 键入 net stop iisadmin,然后按 Enter。
    3. 键入 cd C:\InetPub\adminscripts,然后按 Enter。
    4. 键入以下内容,然后按 Enter: CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/GZIP/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
    5. 键入以下内容,然后按 Enter: CSCRIPT.EXE ADSUTIL.VBS SET W3Svc/Filters/Compression/DEFLATE/HcScriptFileExtensions "asp" "dll" "exe" "aspx"
    6. 键入 net start w3svc,然后按 Enter。
    • 0
  4. Frédéric
    2013-05-28T01:16:22+08:002013-05-28T01:16:22+08:00

    很抱歉讨论得太晚了,但由于我(仍然)必须在 MVC 站点上启用 IIS 6 压缩,所以这是我发现的 IIS 6 本机解决方案:包含在压缩扩展axd中。这假设您正确启用了来自 .Net framework 4 的 IIS 6 扩展少 URL 支持。

    我已经直接在 IIS Metabase 中完成了。(这里解释; %windir%\systems32\inetsrv\metabase.xml。在编辑它之前,停止 IIS 或在 IIS 中启用“元数据库热编辑”,并备份它。)

    从我的配置中提取:

    <IIsCompressionScheme   Location ="/LM/W3SVC/Filters/Compression/deflate"
        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="0"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcDynamicCompressionLevel="9"
        HcFileExtensions="htm
            html
            txt
            xml
            css
            js"
        HcOnDemandCompLevel="10"
        HcPriority="1"
        HcScriptFileExtensions="asp
            dll
            exe
            cgi
            aspx
            asmx
            ashx
            axd"
    >
    </IIsCompressionScheme>
    <IIsCompressionScheme   Location ="/LM/W3SVC/Filters/Compression/gzip"
        HcCompressionDll="%windir%\system32\inetsrv\gzip.dll"
        HcCreateFlags="1"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcDynamicCompressionLevel="9"
        HcFileExtensions="htm
            html
            txt
            xml
            css
            js"
        HcOnDemandCompLevel="10"
        HcPriority="1"
        HcScriptFileExtensions="asp
            dll
            exe
            cgi
            aspx
            asmx
            ashx
            axd"
    >
    </IIsCompressionScheme>
    <IIsCompressionSchemes  Location ="/LM/W3SVC/Filters/Compression/Parameters"
        HcCacheControlHeader="max-age=86400"
        HcCompressionBufferSize="8192"
        HcCompressionDirectory="%windir%\IIS Temporary Compressed Files"
        HcDoDiskSpaceLimiting="TRUE"
        HcDoDynamicCompression="TRUE"
        HcDoOnDemandCompression="TRUE"
        HcDoStaticCompression="TRUE"
        HcExpiresHeader="Wed, 01 Jan 1997 12:00:00 GMT"
        HcFilesDeletedPerDiskFree="256"
        HcIoBufferSize="8192"
        HcMaxDiskSpaceUsage="99614720"
        HcMaxQueueLength="1000"
        HcMinFileSizeForComp="1"
        HcNoCompressionForHttp10="FALSE"
        HcNoCompressionForProxies="FALSE"
        HcNoCompressionForRange="FALSE"
        HcSendCacheHeaders="FALSE"
    >
    </IIsCompressionSchemes>
    

    理性:在幕后,无扩展的 URL 通过调用eurl.axd页面在 IIS 6 中工作。有关使用 fx4 的 IIS6 中的无扩展 URL 的更深入解释,请参阅此博客。

    • 0

相关问题

  • 是否有用于在 IIS6 中管理网站的替代控制台?

  • IIS 6.0 中的 COM+DLL 问题[关闭]

  • 新会话失败

  • 为什么 IIS 拒绝提供 ASP.NET 内容?

  • 如何在 IIS 6 中免费重写 url (ala mod_rewrite)?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve