mod_重写PHP API用户资源
我正在尝试为我正在进行的项目创建一个学生API端点。URL类似于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
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在学生中使用。