如何为所有非错误的Apache响应设置默认的内容types?

我希望所有的apache非错误响应与内容types的'application/json; charset=UTF-8' 'application/json; charset=UTF-8' 。 我如何做到这一点?

我试过添加:

 <VirtualHost *:80> AddType 'application/json; charset=UTF-8' </VirtualHost> 

但是这需要指定文件扩展名,我不想绑定到文件扩展名,因为我没有请求特定的文件,但像这样的资源:

 http://my.domain.com/rest/articles/ 

我也试过DefaultType指令:

 <VirtualHost *:80> DefaultType 'application/json; charset=UTF-8' </VirtualHost> 

但这似乎并没有工作 – Content-Type:text/html; charset=utf-8 Content-Type:text/html; charset=utf-8被返回。 我错过了什么吗?

您可以使用Apache的ForceType指令,在文档中解释。 您必须在目录,位置或文件上下文中使用它。 对于JSON,你会想使用ForceType application/json 。 所以,在你的虚拟主机中,你可能会想要做这样的事情:

 <VirtualHost *:80> <Location /> ForceType application/json </Location> </VirtualHost>