当前位置:  开发笔记 > 前端 > 正文

资源解释为样式表但使用MIME类型text/html传输(似乎与Web服务器无关)

如何解决《资源解释为样式表但使用MIME类型text/html传输(似乎与Web服务器无关)》经验,为你挑选了9个好方法。

我有这个问题.Chrome继续返回此错误

资源解释为样式表,但使用MIME类型text/html进行传输

受此错误影响的文件只是Style,selected和jquery-gentleselect(以相同方式在索引中导入的其他CSS文件运行良好且没有错误).我已经检查了我的MIME类型,text/css已经在CSS上了.

老实说,我想从理解问题开始(这似乎是我不能单独做的事情).



1> Sten Muchow..:

使用Angular?

这是一个值得记住的重要警告.

基本标签不仅需要在头部,而且需要在正确的位置.

我的基本标记位于头部的错误位置,它应该在带有url请求的任何标记之前.基本上把它作为标题下面的第二个标签解决了它.


我在这里写了一篇帖子



2> Quentin..:

我想从了解问题开始

浏览器向服务器发出HTTP请求.然后,服务器发出HTTP响应.

请求和响应都包含一堆标题和一个(有时是可选的)正文,其中包含一些内容.

如果有一个正文,那么其中一个标题是Content-Type描述正文是什么(它是一个HTML文档吗?一个图像?表单提交的内容?等).

当您要求样式表时,您的服务器告诉浏览器它是HTML文档(Content-Type: text/html)而不是样式表(Content-Type: text/css).

我已经检查了我的myme.type和text/css已经在css上了.

然后关于你的服务器的其他东西使得样式表带有错误的内容类型.

使用浏览器开发人员工具的"网络"选项卡检查请求和响应.


我认为我很确定问题出在我的.htaccess中是http://pastebin.com/w8UnqFs8(我忘了提到这个错误仅在子目录中给我,并且只在页面刷新后).感谢您的解释,对于理解问题非常有帮助.:)

3> Trilochan..:

我也遇到了这个错误的问题,并找到了解决方案.这并不能解释错误发生的原因,但在某些情况下似乎可以解决.

在css文件的路径前包含正斜杠 /,如下所示:


我在这个小错误上输了很多时间.如果有人会阅读我的答案,这将有助于他在这种情况下将是相关的.
实际发生的是服务器在`/ css/bootstrap.min.css`上提供文件,但是当你没有包含`/`时它只是在当前目录中查找它,例如你去了`yoursite.com/hello/trilochan`,然后它将在`hello/css/bootsrap.min.css`下查找,但它真的在`yoursite.com/css/bootsrap.min.css`下,我希望我清除了这个,`/ `指的是root,没有`/`,它在当前目录中查找.

4> JEuvin..:

我的问题比这篇文章中的所有答案都简单.

我不得不设置IIS以包含静态内容.

在此输入图像描述



5> seq..:

试试这个

##你的文件夹在哪里,你的.CSS文件

不要忘记:( ..双点).



6> Felipe Cruz..:

将匿名身份验证凭据设置为应用程序池标识对我来说很成功。



7> 小智..:

我也面临同样的问题.在做了一些研发后,我发现问题出在文件名上.实际文件的名称是"lightgallery.css",但在链接时我键入了"lightGallery.css".

更多信息:

它在我的本地主机上运行良好(操作系统:Windows 8.1和服务器:Apache).但是当我将我的应用程序上传到远程服务器(不同的操作系统和Web服务器而不是我的本地主机)时,它不起作用,给我的错误与你的相同.

因此,问题是服务器的区分大小写(关于文件名).



8> nicolashahn..:

根据其他答案,似乎此消息有很多原因,我想我只是分享自己的解决方案,以防将来有人遇到我的确切问题。

我们的网站从使用S3存储桶作为源的AWS Cloudfront分发中加载CSS文件。这个特定的S3存储桶被保持与运行Jenkins的Linux服务器同步。该sync命令via s3cmd根据OS所说的内容(可能基于文件扩展名)自动设置S3对象的Content-Type。由于某种原因,在我们的服务器中,所有类型均已正确设置,但.css文件赋予类型text/plain。在S3中,当您检查文件属性中的元数据时,可以将类型设置为所需的任何类型。将其设置为text/css允许我们的网站将文件正确解释为CSS并正确加载。



9> techknowcrat..:

@Rob Sedgwick的回答给了我一个指针,但是,就我而言,我的应用程序是一个Spring Boot应用程序.所以我只是在我的安全配置中添加了排除项,以获取相关文件的路径...

注意 - 此解决方案基于SpringBoot ...您可能需要做的事情可能因您使用的编程语言和/或您正在使用的框架而有所不同

但值得注意的是;

基本上,当每个请求(包括静态内容的请求)都经过身份验证时,都会导致问题.

那么让我们说一些导致错误的静态内容路径如下;

一条名为"插件"的路径

HTTP://本地主机:8080 /插件/风格/ CSS /文件1.CSS

HTTP://本地主机:8080 /插件/风格/ CSS /文件2.css

HTTP://本地主机:8080 /插件/ JS /脚本file.js

还有一个叫做"页面"的路径

HTTP://本地主机:8080 /页/风格/ CSS /样式1.CSS

HTTP://本地主机:8080 /页/风格/ CSS /样式2.css

HTTP://本地主机:8080 /页/ JS/scripts.js中

然后我在Spring Boot Security Config中添加以下排除项;

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {
        http.authorizeRequests()
            .antMatchers(, "/plugins/**", "/pages/**").permitAll()
            // other antMatchers can follow here
    }

}


排除这些路径"/plugins/**""/pages/**"身份验证使错误消失.


干杯!

推荐阅读
360691894_8a5c48
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有