0

我正在构建一个RESTfulAPI PHP。我想让用户以 3 种不同的编码(json、xml 和 rss)显示任何结果。

以下是GET用户 123456873 的请求示例:

 - GET /user/123456873.json -> Json
 - GET /user/123456873.xml -> xml
 - GET /user/123456873.rss -> rss

如何使用 PHP 获取包含在 URL 中的编码参数 (.json/.xml/.rss)?

4

3 回答 3

1

您正在寻找重写引擎。继续阅读:http ://en.wikipedia.org/wiki/Rewrite_engine

对于 Apache,这可能很有趣: http: //net.tutsplus.com/tutorials/other/a-deeper-look-at-mod_rewrite-for-apache/

于 2013-03-22T22:24:53.190 回答
0

解决方案在不同的服务器上有所不同,但通常您需要将其配置为服务 PHP,即使路径不是以.php
这种方式结尾的 PHP 应用程序可以解析路径并决定如何处理它。

对于 Apache,这可以通过重写模块来完成。谷歌告诉我你应该阅读本指南:http ://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/

于 2013-03-22T22:24:54.830 回答
0

这是解决方案:

通过 .htaccess 中的 mod_rewrite 重写 URL:

RewriteEngine on
RewriteRule ^(.*)$ api.php?handler=$1 [L,QSA]

/user/123487364.json -> api.php?handler=user/123487364.json

在 api.php 中:

$request = $_GET['handler']
$encoding = explode(".", $request); -> to get the encoding (array)
$parameters = explode("/", $encoding[0]); -> to get the parameters (array)
于 2013-03-23T17:52:49.867 回答