非常诡异的IIS下由配置文件加上svg的mime头导致整个网站的静态文件访问报错误
调试了两天遇到一个非常诡异的问题 一个系统稳定运行了很多年,是用mvc5+WIN2008R2 + .NET 4.5 +IIS环境下运行,非常稳定,最近想迁移到一台新的服务器,为了少麻烦在阿里云上买了一台同样环境的WINDOWS 2008 R2 ,把程序部署上去后报了十分诡异的错误。
1.部署新服务器后,全部动态程序运行正常,但是所有静态文件无法加载(图片,css,js,html)纯静态访问全部报500错误(无法显示页面,因为发生内部服务器错误)
单独访问任何静态资源都报这个错
最后定位到了问题原因,原来在web.config里关键的一句去掉svg的mine配置就正常了。去掉配置节点system.webServer/modules/staticContent/
<mimeMap fileExtension=".svg" mimeType="image/svg+xml" />
去掉就正常加上就报错(仅限访问静态文件报错,动态文件正常)
这让人十分诡异 ,最后只有把这一句去掉,去掉也影响不大,因为svg只是一个介面模板要使用的美化图标之类的,不影响不大,但始终像吃了苍蝇一样。有遇到同样问题的欢迎共勉。
这个莫名奇妙错误描述直接显示文本,没有详细错误代码 ,导致排查过程中被严重误导,以为是环境安装权限之类的问题
最后搜索到一个解决办法 繁体文章有点类似症状
https://hant-kb.kutu66.com/mip/12245572
前面加上一句
<remove fileExtension=".svg"/>
以下是尝试使用的各办法走了不少弯路
1.尝试把网站目录权限设置在EveryOne完全控制 ,虽然很危险也没有解决.
2.尝试把runAllManagedModulesForAllRequests改成=false 或删除
3.建立独立的应用程序池来运行
4.应用程序池 高级设置->启用32位应用程序 设置true
5.尝试各种重启 重装环境。
6.以为带宽 内存不够,加大带宽内存配置
7.开始网站目录建立在C盘,然后搬到其他硬盘。
这个问题报错太诡异走了太多弯路记录以下给其他遇到的人共勉
非常诡异的IIS下由配置文件加上svg的mime头导致整个网站的静态文件访问报错误的更多相关文章
- [转]网站优化-IIS7下静态文件的优化
本文转自:http://www.cnblogs.com/Leung/archive/2009/10/26/1590256.html 在网站开发过程中,通常我们会对网站的静态文件做处事,像图片文件,CS ...
- Django 配置文件settings注解(含静态文件和上传文件配置)
基于Django1.11配置文件settings.py import os import sys # Build paths inside the project like this: os.path ...
- 基于 Vue.js 之 iView UI 框架非工程化实践记要 使用 Newtonsoft.Json 操作 JSON 字符串 基于.net core实现项目自动编译、并生成nuget包 webpack + vue 在dev和production模式下的小小区别 这样入门asp.net core 之 静态文件 这样入门asp.net core,如何
基于 Vue.js 之 iView UI 框架非工程化实践记要 像我们平日里做惯了 Java 或者 .NET 这种后端程序员,对于前端的认识还常常停留在 jQuery 时代,包括其插件在需要时就引 ...
- linux下的php网站放到Windows服务器IIS下导入 .htaccess文件伪静态规则转换 (wordpress)
需要特别注意的是: 1. .htacdess文件在 wordpress中 是可以生成的 安装 WP Super Cache后,开启该插件>>设置>>高级>>找到并点 ...
- linux下的php网站放到Windows服务器IIS下.htaccess文件伪静态规则转换
此办法只适合于linux下的php网站放到Windows服务器IIS下 , 网站除了主页面正常以外 子页面全部出现404错误 这里子页面出现404 错误是说明伪静态没有开启 什么是.htac ...
- 跟我一起,利用bitcms内容管理系统从0到1学习小程序开发:一、IIS下SSL环境搭建
缘起 1.从事互联网十来年了,一直想把自己的从事开发过程遇到的问题给写出来,分享给大家.可是可是这只是个种想法,想想之后就放下了,写出来的类文章是少之又少.古人说无志之人常立志,有志之人立长志.今天, ...
- 在IIS下部署Thinkphp项目,验证码不能显示的解决办法
由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示 这是生成验证码的方法: // 制作专门 ...
- IIS下Asp.Net应用程序多进程设置及Session共享
背景: 目前项目中在单个进程的应用程序经常会遇到w3c.exe崩溃的情况,于是就设想是否可以通过IIS多进程的方案来避免出现该问题. 于是搜了下“怎么实现多进程的方案”,找到了这篇文章:http:// ...
- [转]解决IIS下UTF-8文件报错乱码的问题
找了两天才找到解决办法…….晕晕晕...用第二种方法解决了. 网上找到的方法都没有写这一条 If objASPError.ASPDescription > "" Then 后 ...
随机推荐
- 解决WebMvcConfigurer下的addViewControllers无法找到制定页面
解决WebMvcConfigurer下的addViewControllers无法找到制定页面 这种都已经配置了拦截跳转,但无效的原因是,没有加载thymeleaf依赖 <dependency&g ...
- Vue+Axios+iview+vue-router实战管理系统项目
项目实现登陆验证,iviewui组件使用,vue-router路由拦截,在删除登陆存储的token后,直接路由进登陆页面,实战数据请求,本地data.json,笔者也是初出茅庐,在项目运行后,会一直c ...
- 前端javascript知识(二)
documen.write和 innerHTML的区别 document.write只能重绘整个页面 innerHTML可以重绘页面的一部分 浏览器检测通过什么? (1) navigator.user ...
- PySide2的This application failed to start because no Qt platform plugin could be initialized解决方式
解决PySide2的This application failed to start because no Qt platform plugin could be initialized问题 今天在装 ...
- JavaWeb中登录验证码生成
1.页面代码 <html> <head> <title>Title</title> <script type="text/javascr ...
- 峰哥说技术:01-Spring Boot介绍
Spring Boot深度课程系列 峰哥说技术—2020庚子年重磅推出.战胜病毒.我们在行动 Spring Boot介绍 A.Spring Boot是什么? 由于Spring是一个轻量级的企业开发框架 ...
- spring boot 调度任务
1.引入spring boot所依赖的jar包 <parent> <groupId>org.springframework.boot</groupId> < ...
- SPI总线传输的4种模式
概述 在芯片的资料上,有两个非常特殊的寄存器配置位,分别是 CPOL (Clock POlarity)和 CPHA (Clock PHAse). CPOL配置SPI总线的极性 CPHA配置SPI总线的 ...
- iview中select搜索
https://www.jianshu.com/p/1c40d7cc440e https://www.cnblogs.com/yun1108/p/10967735.html https://blog. ...
- PHP mysql事务问题实例分析
本文实例分析了PHP的mysql事务问题.分享给大家供大家参考,具体如下: 对于myisam数据库,可以控制事务的进行: $mysqlrl = mysql_connect ( $db_config [ ...