2015-05-22 3 views
-1

Я разработал apis в core php. Для этого у меня есть отдельная папка в корне моего сайта. названный как api, в этой папке у меня есть папка v1, которая содержит мои файлы index.php. Я обрабатываю все вызовы api на index.php, как это.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, добавьте это правило в .htaccess в v1 каталоге:

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

Не работает. Я получаю 404 на api/v1/login – Googler

+0

Существуют ли какие-либо другие правила перезаписи в корне doc root .htaccess или внутри каталога 'api'? – umka

+0

Нет. Он присутствует только в V1. У меня есть один файл на корень сайта с именем в web.config, который содержит этот <конфигурации> <добавить значение = "index.php" /> Googler

Смежные вопросы