Я пытаюсь создать конечную точку API для студентов для проекта, над которым я работаю. URL-адрес будет похож на https://example.com/services/student/114365
где номер в конце - это идентификационный номер студента. Затем вы сможете читать, редактировать, удалять и т.д. Ученика с этой конечной точки.
Теперь URL, который я использую для этого, - https://example.com/services/student?id=114365
. Есть ли правило.htaccess, которое я могу использовать для преобразования второго URL в первый?
Прошу прощения, если это дублированный вопрос. Я искал SO за 10 минут и не смог найти то, что искал.
Вы можете использовать следующее правило в файле htaccess:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^([^/]+)/?$ /billing/services/student?id=$1 [QSA,NC,L]
Это переписало бы "биллинг/услуги/ученик /12345" на "биллинг/услуги/ученик? Id = 12345", "$ 1" содержит значение, сопоставляемое внутри шаблона регулярного выражения "([^/] +)"
Общая структура правила перезаписи:
RewriteRule Pattern Substitution [OptionalFlags]
Попробуйте использовать следующее правило перезаписи.
RewriteRule ^services/student/([^/.]+)?$ /services/student?id=$1 [L]
Вы можете ссылаться на следующие ссылки для получения более полной информации о том, как формировать правила перезаписи.