0

RESTfulでAPIを構築していますPHP。ユーザーが3つの異なるエンコーディング(json、xml、rss)で結果を表示できるようにしたいと思います。

以下はGET、ユーザー 123456873 に対する要求の例です。

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

URL に含まれるエンコーディング パラメータ (.json/.xml/.rss) を PHP で取得するにはどうすればよいですか?

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

解決策は次のとおりです。

.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 に答える
0

ソリューションはサーバーによって異なりますが、一般的には、パスが で終わっていない場合でも PHP を提供するように構成する必要があります.php

Apache の場合、これは rewrite モジュールによって実現できます。Google は、このガイドを読むべきだと私に言いました: http://www.logon2.com.au/blog/archive/web-design/php-apache-mod-rewrite-tutorial/

于 2013-03-22T22:24:54.830 に答える