2015-05-22 53 views
-1

我开发了apis的核心php。为此,我在我的网站的根目录上有一个单独的文件夹。命名为api与该文件夹中我有v1文件夹,其中包含我的index.php文件。 我正在处理index.php中的所有api调用。Url重写为restful api php

if(isset($_POST['method'])){ 
    $myApi = new MyApi(); 
$response = array(); 
    switch($_POST['method']) 
    { 
     case 'login': 
     $response['result'] = $myApi ->login($_POST['email'],$_POST['password']); 
     break; 
     case 'verify': 
     $response['result'] = $myApi ->verify($_POST['email'],$_POST['password']); 
     break; 
} 

为此,我在每个请求的请求(POST)中发送方法名称。 我现在正在访问这样的apis site.com/api/v1/index.php(这工作正常)。 但我需要访问apis我的函数名称。 site.com/api/v1/login

我知道一个通​​过htaccess的方式,但我不清楚它。我搜索了很多。我应该在我的htaccess文件中为给定的目录结构写什么? 我应该在哪里放置我的htaccess文件;在网站的根目录或V1文件夹的根目录?

请分享?

回答

1

要重写/api/v1/login URI来 - >/api/v1/index.php,添加此规则到.htaccessv1目录:

RewriteEngine on 
RewriteRule ^login$ index.php [L] 
+0

不工作。我在api/v1/login上得到404 – Googler

+0

doc根.htaccess或'api'目录中是否有其他重写规则? – umka

+0

不可以。只有V1存在。我有命名为的web.config站点根一个文件,该文件包含该 <?XML版本= “1.0” 编码= “UTF-8”?> <结构> <添加值= “的index.php”/> Googler