2015-05-22 106 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