Laravel正在改变我的.css文件的内容类型吗?


Is Laravel changing Content-type of my .css files?

今天我试着发布一个用Laravel开发的网站。当我在服务器上发送所有文件时,我意识到样式没有被应用。Css文件正在被加载,因为我进入控制台:

Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://xxx.xx/build/css/app-e3022e1832.css"

我认为这就是问题所在。看看app-e3022e1832.css的标头,特别是Content-Type:

HTTP/1.1 200 OK
Date: Thu, 08 Sep 2016 14:27:29 GMT
Content-Type: text/html; charset=UTF-8
Transfer-Encoding: chunked
Connection: keep-alive
Server: IdeaWebServer/v0.80
Content-Encoding: gzip

当我将相同的.css文件放在外部服务器上时,该文件获得Content-Type: text/css并且一切正常工作。同样的事情发生当我删除所有的Laravel文件,比我的css文件得到正常的Content-Type: text/css和样式被正确应用。

这给了我们一个建议,Laravel正在改变.css文件的Content-Type,但我在另一个项目中使用Laravel,一切都很好。有什么问题吗?

问题不在于Laravel,而在于.htaccess文件。当我上传文件到服务器时,我意识到我需要php7。我的主机提供商允许在htaccess文件中选择php版本。我在。htaccess的顶部写了:

use php7

但这是错误的。我应该写:

:Location /*.php
Use php7
:Location

这可能是非常自定义的解决方案和非常特殊的问题,但如果有人有类似的问题,你可以确保你的php版本和.htaccess文件的一切都是好的