如题,网站在IIS 10上无法显示Bootstrap元素,但是在IIS Express上可以。奇怪的是通过IIS 10服务器访问首页时,Bootstrap样式正常,但是Glyphicons 字体图标无法显示,访问其他页面时,连Bootstrap样式都不能正常显示了,Glyphicons 字体图标就更不用说了。IE,Chrome,UC PC版,Edge都是这样显示。这些情况在IIS Express下正常。昨天下午突然出现了这种情况,之前都正常。还有,我用VS发布了之前做的一些网站,哪些网站也是在IIS Express下正常,但到了IIS 10上就出现了类似的情况。用的是Win10+Visual Studio2015。
,试过了网上的一些方法,但都不行!下面是我试过的方法:
(1)给IIS 10添加.svg image/svg+xml和.woff文件 application/x-font-woff 文件类型(这两种文件类型IIS 10里面本来就有);
(2)在项目的Web.config配置文件里面的system.webServer节加
<staticContent>
<remove fileExtension=".woff"/>
<mimeMap fileExtension=".woff" mimeType="application/x-font-woff" />
</staticContent>
(3)直接引用字体图标的CSS样式文件font-awesome
@*@Styles.Render("~/Content/fontawesome")*@
<link href="~/Content/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
(4)将项目下的一些资源文件,比如javastrip脚本,图片资源,font资源直接覆盖到IIS服务器的网站目录下,也没反应。
这些方法统统不行。所以来此求救。希望有人能帮我解决,或者提供一点思路!不胜感激!
下面是一些相关的图片:
问题解决了!!!
用F12调试时发现在IIS和IIS Express里面link地址不一样:
在IIS 10里面的link链接
<link href="/Content/css?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1" rel="stylesheet"/>
<script src="/bundles/modernizr?v=wBEWDufH_8Md-Pbioxomt90vm6tJN2Pyy9u9zHtWsPo1"></script>
<link href="/Content/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
在IIS Express里面的link链接
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.6.2.js"></script>
<link href="/Content/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
然后在IE 11里面按住Alt键,单击
<link href="/Content/css?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1" rel="stylesheet"/>
里面的链接地址,发现没法打开。但是用同样的方法单击
<link href="/Content/bootstrap.css" rel="stylesheet"/>
里面的链接地址,可以打开,并看到里面的内容。
恍然大悟,link地址有问题!!!
到_Layout.cshtml布局页里面,检查
Styles.Render("~/Content/css"),
Scripts.Render("~/bundles/modernizr")
都没有问题,后来直接把这两个注释了,只引用了
<link href="~/Content/bootstrap.min.css" rel="stylesheet" />
就好了!!!
还是要谢谢@吴瑞祥回复!俗话说求人不如求己嘛!有时候自己动手就可以了!
相关截图:
按F12
F12调试时发现了这个,不知道有没有用:
在IIS 10里面的link链接
<link href="/Content/css?v=MDbdFKJHBa_ctS5x4He1bMV0_RjRq8jpcIAvPpKiN6U1" rel="stylesheet"/>
<script src="/bundles/modernizr?v=wBEWDufH_8Md-Pbioxomt90vm6tJN2Pyy9u9zHtWsPo1"></script>
<link href="/Content/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
在IIS Express里面的link链接
<link href="/Content/bootstrap.css" rel="stylesheet"/>
<link href="/Content/site.css" rel="stylesheet"/>
<script src="/Scripts/modernizr-2.6.2.js"></script>
<link href="/Content/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
@茫茫江浸月: 应该是你用了Bundle的原因.在Bundle配置里看看吧.不会用的话就全删了.一个一个文件引用就好,在App_Start文件夹里
@吴瑞祥: 好了,我直接把
Styles.Render("~/Content/css"),
Scripts.Render("~/bundles/modernizr")
删除了,改用link了。简单粗暴野蛮好用!
现在问题解决了,不过Bundle我得仔细研究研究了!谢谢你的提示!豆子给你了!