mod_rewrite PHP API用户资源


mod_rewrite PHP API user resource

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

我现在使用的URL是https://example.com/services/student?id=114365。是否有一个。htaccess规则,我可以使用转换第二个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"包含在正则表达式模式中匹配的值"([^/]+)"

重写规则的一般结构为:

RewriteRule Pattern Substitution [OptionalFlags]

尝试使用下面的重写规则。

RewriteRule ^services/student/([^/.]+)?$ /services/student?id=$1 [L]

您可以参考以下链接了解如何形成重写规则的更完整信息。

http://www.sitepoint.com/apache-mod_rewrite-examples/

http://www.workingwith.me.uk/articles/scripting/mod_rewrite