0

我目前正在构建一个 API,我希望人们能够进行这样的调用:

http://mydomain.com/api/method.name.json?apikey=1234

这将加载到以下内容:

http://mydomain.com/api/index.php?method=method.name&format=json&apikey=1234&field1=1&field2=2

我正在摆弄一些 Mod Rewrite 代码,但无法让它工作。而且我注意到如何将查询字符串 (apikey=1234&field1=1&field2=2) 添加到 URL 的末尾。

这是我到目前为止所拥有的,但它不起作用。它给了我一个404:

RewriteRule ^([a-zA-Z\.]+).(json|jsonp|xml|php)+)$ index.php?method=$1&format=$2 [L]

我想要实现的目标是可能的吗?提前致谢!

4

2 回答 2

0
RewriteCond %{REQUEST_URI} !\.(jpg|png|css|js|php)$
于 2013-08-13T17:36:02.570 回答
0

解决了!以下示例中的点:

([a-zA-Z\.]+)

导致index.php作为$1变量返回。为了克服这个问题,我简单地添加了:

RewriteCond $1 !^index\.php$

排除index.php。替换[L][QSA,L]将查询字符串添加到末尾。

所以我的最终代码是:

RewriteCond $1 !^index\.php$
RewriteRule ^([a-zA-Z\.]+)\.(json|jsonp|xml|php)$ index.php?method=$1&output=$2 [QSA,L]
于 2013-08-14T12:20:06.120 回答