2015-02-01 2 views
0

Я создал простой веб-сервис RESTful в PHP. Однако у меня проблемы с .htaccess.RESTful webservice в PHP .htaccess issue

Мой основной файл находится в http://example.com/webservice/api.php с различными функциями, такими как логин, поиск, удаление и т. Д.. Я могу получить доступ к API следующим образом (с глаголами в []):

Я хочу, чтобы добавить правила перезаписи, так что я могу получить доступ к поиска API, как - http://example.com/webservice/search/name/bob

Вот мой файл .htaccess Сейчас:

<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> 

ответ

0

YOUT .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], используя $ params [1] для «name» и $ params [2] для значения («bob ", в этом случае). Конечно, $ params [0] содержит действие запроса («поиск», в данном случае).