我正在构建一个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代码,但无法让它工作。我要注意如何在URL的末尾添加查询字符串(apikey = 1234& field1 = 1& field2 = 2)。
这是我到目前为止所做的事情并没有奏效。它给了我一个404:
RewriteRule ^([a-zA-Z\.]+).(json|jsonp|xml|php)+)$ index.php?method=$1&format=$2 [L]
我想要实现的目标是什么?提前谢谢!
答案 0 :(得分:0)
RewriteCond %{REQUEST_URI} !\.(jpg|png|css|js|php)$
答案 1 :(得分: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]