restful api php的Url重写

restful api php的Url重写,php,apache,.htaccess,api,mod-rewrite,Php,Apache,.htaccess,Api,Mod Rewrite,我已经在核心php中开发了API。为此,我在我的网站根目录上有一个单独的文件夹。命名为api,在该文件夹中有包含index.php文件的v1文件夹。 我正在像这样处理index.php上的所有api调用 if(isset($_POST['method'])){ $myApi = new MyApi(); $response = array(); switch($_POST['method']) { case 'login': $respon

我已经在核心php中开发了API。为此,我在我的网站根目录上有一个单独的文件夹。命名为api,在该文件夹中有包含index.php文件的v1文件夹。 我正在像这样处理index.php上的所有api调用

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)中发送方法名称。 我现在像这样访问API site.com/api/v1/index.php(运行良好)。 但是我需要访问API我的函数名。 site.com/api/v1/login

我知道通过htaccess的方法,但我不清楚。我找了很多。对于给定的目录结构,我应该在htaccess文件中写入什么? 我应该把我的htaccess文件放在哪里;在站点的根目录或V1文件夹的根目录上


请共享?

若要将
/api/v1/login
URI重写为->
/api/v1/index.php
,请将此规则添加到
目录中

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

在doc root.htaccess或
api
目录中是否有其他重写规则?没有。它仅在V1中存在。我在站点根目录中有一个名为web.config的文件,其中包含这个文件,它是IIS配置,而不是apache。确保您正在使用apache为这些文件提供服务。