mod_重写PHP API用户资源

mod_重写PHP API用户资源,php,apache,.htaccess,api,mod-rewrite,Php,Apache,.htaccess,Api,Mod Rewrite,我正在尝试为我正在进行的项目创建一个学生API端点。URL类似于https://example.com/services/student/114365其中末尾的数字是学生的ID号。然后,您将能够从该端点读取、编辑、删除学生 我现在使用的URL是https://example.com/services/student?id=114365。是否有.htaccess规则可用于将第二个URL转换为第一个URL 如果这是一个重复的问题,我道歉。我搜索了整整10分钟,没有找到我要找的东西。您可以在htacc

我正在尝试为我正在进行的项目创建一个学生API端点。URL类似于
https://example.com/services/student/114365
其中末尾的数字是学生的ID号。然后,您将能够从该端点读取、编辑、删除学生

我现在使用的URL是
https://example.com/services/student?id=114365
。是否有.htaccess规则可用于将第二个URL转换为第一个URL


如果这是一个重复的问题,我道歉。我搜索了整整10分钟,没有找到我要找的东西。

您可以在htaccess文件中使用以下规则:

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /billing/services/student?id=$1 [QSA,NC,L]

这将“billing/services/student/12345”重写为“billing/services/student?id=12345”,“$1”包含在regex模式“([^/]+)”中匹配的值。

重写规则的一般结构为:

RewriteRule Pattern Substitution [OptionalFlags]
尝试使用以下重写规则

RewriteRule ^services/student/([^/.]+)?$ /services/student?id=$1 [L]
有关如何形成重写规则的更完整信息,请参考以下链接


我认为它不起作用。我验证了我的.htaccess可以工作,但里面的代码似乎不起作用。它给了我一个404未找到的错误。服务/学生是否在账单文件夹中有关系?您的文件夹结构如何?您的htaccess文件位于哪里?/billing/services/students/index.php?id=123。htaccess在学生中使用。