Php API-指向正确控制器的直接url

Php API-指向正确控制器的直接url,php,apache,api,rest,Php,Apache,Api,Rest,我目前正在为我的服务编写一个RESTful API。 我的url方案如下: www.mydomain.com/api/user-POST方法,创建新用户 www.mydomain.com/api/user/id-GET/PUT-method-Fetch/update用户详细信息 我在处理这些请求并返回正确响应的服务器上编写了userController.php。它在我的服务器上的/api/userController.php中 我的问题是如何引导上述url的(http://www.mydomai

我目前正在为我的服务编写一个RESTful API。 我的url方案如下:
www.mydomain.com/api/user-POST方法,创建新用户
www.mydomain.com/api/user/id-GET/PUT-method-Fetch/update用户详细信息

我在处理这些请求并返回正确响应的服务器上编写了userController.php。它在我的服务器上的/api/userController.php中

我的问题是如何引导上述url的(http://www.mydomain.com/api/user/ 和)激活服务器上的userController.php? 我是否通过.htaccess文件执行此操作


谢谢

差不多。退房我希望您戴着您的RegEx帽子。

在您的
.htaccess
文件中,替换此:

RewriteCond %{REQUEST_FILENAME} !-f
为此:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ userController.php [QSA,L]

谢谢这是否意味着像www.mydomain.com/api/user这样的每个url调用都会触发/api/userController.php?是的——如果它在
/api/.htaccess
中,并且您的apache配置为支持
.htaccess
文件。如果我有几个资源,并且我想将它们指向正确的控制器,该怎么办?例如,如果我有一个/api/book资源,我该如何将其定向到/api/bookControllerI我建议使用一个
api路由器
,该路由器通过.htaccess路由到,然后使用该路由器根据其接收的路径(即调用的URL)调用相应的控制器。您的意思是,就像有一个主控制器,每个api调用都会触发它,它会根据url触发正确的资源控制器。对的