PHP.htaccess中的RESTfulWebService问题
我用PHP构建了一个简单的RESTful Web服务。不过,我在访问上遇到了麻烦 我的主文件位于,具有登录、搜索、删除用户等不同功能。。我可以使用[]中的动词访问API,如下所示: -[POST uname=bob&password=123] -[GET name=bob] -[删除id=2] 我想添加一个重写规则,这样我就可以访问搜索API了 - 这是我的.htaccess文件:PHP.htaccess中的RESTfulWebService问题,php,apache,.htaccess,rest,mod-rewrite,Php,Apache,.htaccess,Rest,Mod Rewrite,我用PHP构建了一个简单的RESTful Web服务。不过,我在访问上遇到了麻烦 我的主文件位于,具有登录、搜索、删除用户等不同功能。。我可以使用[]中的动词访问API,如下所示: -[POST uname=bob&password=123] -[GET name=bob] -[删除id=2] 我想添加一个重写规则,这样我就可以访问搜索API了 - 这是我的.htaccess文件: <IfModule mod_rewrite.c> RewriteEngine On RewriteCo
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-s
RewriteRule ^(.*)$ api.php?request=$1 [QSA,NC,L]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^(.*)$ api.php [QSA,NC,L]
RewriteCond %{REQUEST_FILENAME} -s
RewriteRule ^(.*)$ api.php [QSA,NC,L]
</IfModule>
htaccess文件将转换搜索URL
http://example.com/webservice/search/name/bob
为此:
http://example.com/api.php?request=/search/name/bob
因此,在PHP中处理参数时,应将请求参数分解为一个参数数组,如下所示:
$params=array_explode("/",$_GET['request']);
这样,您将应用与[GET name=bob]请求相同的代码,在本例中,name使用$params[1],值bob使用$params[2]。当然,在本例中,$params[0]包含请求操作搜索