【发布时间】:2014-11-23 07:34:04
【问题描述】:
我们想创建某种 api,其中使用 .php 文件生成 json 格式的结果。
网络文件夹看起来像
api
├── .htaccess
└── foo
├── bar.php
└── baz.php
bar.php 和 baz.php 是 php 文件在查询中生成 json 格式的回复。
这样的文件 (bar.php) 看起来像:
<?php
include_once("../../utils.php");
$id = $_GET['id'];
echo json_encode(some_function($id));
?>
当然应该指定一个标题header("Content-type: application/json");。然而,我们想设置.htaccess 来做到这一点,这样人们就不会忘记设置内容类型,如果需要额外的标题,我们可以轻松修改,等等。我们不想写header(...) 在每个文件中。
.htaccess 看起来像:
#All php files return JSON formatted text.
AddType application/json json php
但是生成的结果还是mime-type:text/html。
这是什么原因造成的?
【问题讨论】:
-
AddType application/json .json .php
-
@TheStatehz: 不起作用 :(.
-
尝试 - AddType application/json .php - 这是语法。确保您的 .htaccess 文件也被使用。
-
@TheStatehz:也试过了(还有很多变化)。根据 Apache 文档,两者都是有效的。
标签: php json .htaccess http-headers mime-types