您现在的位置是:知识 >>正文
asp在IIS7中的mime类型是什么
知识1597人已围观
简介ASP文件在IIS7里压根儿就没有默认的MIME类型。这事儿我踩过坑,当时给客户部署一个老系统,aspx页面全正常,唯独.asp文件在浏览器里直接变成了纯文本下载。排查半天,最后打开IIS管理器一看— ...
ASP文件在IIS7里压根儿就没有默认的类型MIME类型。这事儿我踩过坑,类型当时给客户部署一个老系统,类型aspx页面全正常,类型唯独.asp文件在浏览器里直接变成了纯文本下载。类型排查半天,类型最后打开IIS管理器一看——application/asp那一栏空荡荡的类型。
IIS7的类型静态文件处理机制和IIS6完全不同。它不再像老版本那样自动关联常见的类型脚本扩展名,除了少数内置类型(比如html、类型txt、类型jpg),类型其余全得靠管理员手动添加。类型ASP这种“过气”技术自然不在默认清单里。类型更坑的类型是,如果你用的是集成模式(Integrated Mode),即便你在“处理程序映射”里配了asp模块,MIME类型缺失照样会让IIS直接返回404.3错误——这错误提示压根儿不会告诉你“缺MIME”,只让你觉得是路径写错了。
解决办法分两步。先打开IIS管理器,选中站点,双击“MIME类型”图标,点右侧“添加”,扩展名填 .asp,MIME类型填 application/asp 或者 text/plain(后者能保证内容原样输出,但不会执行脚本)。要是你只想让ASP脚本跑起来,其实该去检查“处理程序映射”里有没有 ASPClassic 这个条目——MIME类型只是给静态文件用的,脚本执行走的是另一条管道。但诡异的是,IIS7的“请求筛选”模块里有个“文件扩展名”限制,默认禁止了 .asp,这时候你就算配好MIME和处理程序,请求照样被拦截。得去“请求筛选”->“文件扩展名”->“编辑功能权限”,把“执行”勾上。
我见过不少运维直接改applicationHost.config文件的。路径在 C:\Windows\System32\inetsrv\config,找到 <staticContent> 节点,往里塞一行 <mimeMap fileExtension=".asp" mimeType="application/asp" />,保存后运行 iisreset 生效。这方法快,但容易踩权限坑——config文件默认是只读的,得先改ACL。更稳妥的是用命令行:appcmd set config /section:staticContent /+[fileExtension='.asp',mimeType='application/asp'],这玩意儿能自动处理权限问题。
还有个冷门细节:如果站点启用了“URL授权”或者“输出缓存”,MIME类型缺失会导致缓存规则不生效。有次客户反馈ASP页面每次刷新都从服务器拉数据,查了半天才发现是MIME类型没配,IIS把响应当成未知类型,直接跳过了缓存模块。配好之后,页面响应时间从800ms降到200ms——这数字我记得清清楚楚。
最后说句实话,现在新项目谁还用ASP?但老系统总得有人维护。你要是碰到这种问题,先别急着翻配置,用 curl -I 看响应头,如果返回 Content-Type: text/html 但状态码是404.3,那基本就是MIME的锅。配完之后记得重启站点,光刷新页面有时候不生效。反正我后来把自己常用服务器的MIME列表导成了备份文件,换服务器直接导入,省得每次手动敲。
Tags:
上一篇:漏洞加固措施
相关文章
网信办是干嘛的
知识网信办全称是“国家互联网信息办公室”,它不是一个管你网速快慢的部门,也不是修光缆的。它管的是互联网上的“内容”和“行为”——谁在网上说话、说什么、怎么说,以及谁在背后搞小动作。简单讲,它就是互联网世界 ...
【知识】
阅读更多最大的p2p爆雷排行
知识2015年12月,e租宝被查封那天,我在一个P2P投资群里看到有人发了张截图:账户余额显示470万,提现按钮是灰色的。那人连发了十几条消息,从"怎么回事"到"我全部身家"再到一连串语音,没人点开听。群 ...
【知识】
阅读更多知乎破解网站
知识去年冬天,我在一个技术群里看到有人发链接,说“知乎付费内容免费看”。点进去,页面粗糙得像2008年的个人博客,顶部一行大字:“输入知乎问题链接,一键解锁”。下面是个输入框,旁边贴着支付宝收款码,五块钱 ...
【知识】
阅读更多