繁体   English   中英

css在服务器iis 7上运行不正常,就像本地一样

[英]css not working well in server iis 7 like on local

当我在Visual Studio 2012上调试我的ASP MCV 4应用程序时,CSS显示正常。 我将它部署到IIS 7,但我注意到并非所有的CSS都在工作,因为它在本地,有些样式缺失。 我已经编辑了渲染字符串,因此它与我的实际目录结构不一样,因为它在这里但我没有得到好结果。 知道如何处理这个问题吗?

更新

要发布我的应用:

  • 我用过按钮发布(在VS 2012中)
  • 选择文件系统(发布方法)
  • 从IIS管理器中浏览应用程序

单击F12时:我收到这些消息“无法加载资源:服务器响应状态为404(未找到)”这是关于一些未找到的图像

我正在使用bundle来包含CSS文件

在此输入图像描述

尝试

BundleTable.EnableOptimizations = false;

在捆绑配置中

只需删除请求过滤功能中的App_Themes文件夹即可。

IIS7 -> Site -> (Ursitename) ,在右侧面板中有"Request Filtering"

打开该功能并从中删除App_Themes文件夹。 并刷新和浏览。

这不是IIS问题。

  1. 检查两台服务器上的CSS是否相同(可能是您没有部署正确的css文件)。
  2. 检查它是否不是缓存问题(清除所有浏览器缓存)。
  3. 检查另一个浏览器。

IE有开发人员工具(F12)。 检查两个版本中的标头是否具有相同的css样式...

同时通过给出正确的路径进行检查

由于问题仅出现在CSS上,您是否使用CSS的完整路径?

<link href="http://pcname/website/file.css" rel="Stylesheet" type="text/css" />

用这个

<link href="file.css" rel="Stylesheet" type="text/css" />

如果没有,可能还会有一些权限问题。 然后你在本地浏览http://local它将使用你的本地帐户,当浏览http://pcname你将被识别为可能无权访问css文件或文件夹的远程用户。

可能会发生捆绑的HTTP请求由IIS而不是MVC框架处理。 当捆绑的虚拟路径与文件系统上的真实路径匹配时,可能发生这种路由冲突。

正如ASP.NET官方文档末尾所述( http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification ):

创建捆绑包时要遵循的一个好习惯是在捆绑包名称中包含“bundle”作为前缀。 这将防止可能的路由冲突。

因此,我建议您重命名捆绑包,确保该名称与您网站中的任何路径不相似。

您可以查看这些类似问题的答案:

我终于找到了解决方案,并在BundleConfig中添加这一行:

BundleTable.EnableOptimizations = false;

我修复了我在webconfig上评论静态文件处理程序的问题

  <add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM