我正在RESTful
中构建PHP
API。我想让用户以3种不同的编码(json,xml和rss)显示任何结果。
以下是用户123456873的GET
请求示例:
- GET /user/123456873.json -> Json
- GET /user/123456873.xml -> xml
- GET /user/123456873.rss -> rss
如何使用PHP获取URL中包含的编码参数(.json / .xml / .rss)?
答案 0 :(得分:1)
您正在寻找重写引擎。继续阅读:http://en.wikipedia.org/wiki/Rewrite_engine
对于Apache来说,这可能很有趣:http://net.tutsplus.com/tutorials/other/a-deeper-look-at-mod_rewrite-for-apache/
答案 1 :(得分:0)
不同服务器上的解决方案有所不同,但一般情况下,即使路径未以.php
结尾,您也需要将其配置为服务PHP
这样,PHP应用程序就可以解析路径并决定如何处理它。
对于Apache,这可以通过重写模块来完成。谷歌告诉我你应该阅读本指南:http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/
答案 2 :(得分:0)
以下是解决方案:
通过.htaccess中的mod_rewrite重写网址:
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)