我一直在开发一个新网站,将其托管在Google App Engine上。我已经将应用部署到开发项目,并在这里进行托管:
开发环境:https://herdboss-dev.appspot.com/
它可以正常工作。
但是,当我拿相同的代码并将其部署到另一个项目中以用作实际的生产网站时,一些CSS文件会被作为application/octet-stream
而不是text/css
提供,因此这些文件无法被浏览器解析,导致我的大部分CSS在生产网站上无法工作:
生产环境:https://herdboss-prod.appspot.com/
更奇怪的是,其中有些CSS是正确提供的。/css/normalize.css
作为text/css
提供,但/css/site.css
则被作为application/octet-stream
提供。
https://herdboss-prod.appspot.com/css/normalize.css
https://herdboss-prod.appspot.com/css/site.css
https://herdboss-prod.appspot.com/js/jquery-ui-1.12.1.custom-theme/jquery-ui.min.css
我的app.yaml为CSS文件设置了静态处理程序:
- url: /css
static_dir: css
secure: always
我尝试添加mime_type,但并没有改变任何内容:
- url: /css
static_dir: css
mime_type: 'text/css'
secure: always
编辑:
在尝试实验时,我将我的 site.css 缩减了一半,部署后,它开始正确地提供服务。然后我恢复了完整大小的 site.css,重新部署……现在它仍然可以正确提供服务。
但我的 jquery-ui.min.css 仍然作为 octet-stream 提供服务,这太疯狂了。
编辑2:
我的 svg 文件也以错误的 mime 类型提供服务。
GAE 中的 MIME 类型是否被彻底破坏了?如果是这样,为什么在开发 GAE 上它还有效呢?