首页  >  问答  >  正文

linux - nginx配置content-type问题

vue项目打包后生成static目录和一个index.html
然后我把这两个文件发到线上

location / {
  try_files $uri $uri/ /index.html;
}

通过上面的代码,让vue中定义的路由全指到index.html
这样网站可以显示,但是无法获取后台json数据
原因如下:
nginx中mime_types文件中配置

type {
    text/html html
}
// 即所有后缀为html的文件的content-type都为text/html

因为所有路由都指向index.html,所以没有后缀的例如/api/articles的路由都指向index.html,所以响应头content-type都为text/html,但是我想获取的是application/json

求解,谢谢!

高洛峰高洛峰2712 天前674

全部回复(2)我来回复

  • 巴扎黑

    巴扎黑2017-05-16 13:29:27

    可以为提供josn的API配置一个location啊,看到你在知乎上问我,
    比如说 location api/

    回复
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 13:29:27

    location /api {
        try_files $uri $uri/ /index.json;
    }

    不过,为什么要弄这么奇葩的配置……

    回复
    0
  • 取消回复