Итак, у меня есть URL localhost/parent/admin/news/edit/2
, и я хочу переписать его для запуска localhost/parent/admin/news/edit.php?id=2
.В большинстве рассмотренных мною примеров RewriteRule (например, this ) для перезаписи сразу после домена использовалось следующее:
RewriteRule ^products/([0-9]+)/?$ show_a_product.php?product_id=$1 [NC,L]
Однако, насколько я могуСкажите ^
обозначает начало строки, и, поскольку мой форвард находится далеко за пределами начала, он не будет работать.Таким образом, я придумал следующее:
RewriteRule edit/([0-9]+)$ edit.php?id=$1 [NC,L]
Логически я чувствую, что это должно работать, и я использовал тест RegExr , чтобы проверить его, и этот сервис согласен.Однако, когда я добавляю флаг R
для пересылки, кажется, что правило указывает страницу на localhost/C:/xampp/htdocs/parent/edit.php?id=2
, из которой я могу предположить две проблемы:
- Он пересылает файл вмой компьютер вместо локального сервера (запускающий Access Forbidden!)
- Он все вместе вырезает раздел
news/
.
Надеюсь, кто-то может помочь мне решить эту проблему, какЯ провел пару часов, дурачясь с разными комбинациями, но безрезультатно.
Редактировать: я должен добавить, что причина, по которой я хочу поймать edit / #, заключается в том, что будет несколько разделов с редактированием/ # и я бы хотел поймать их всех одним правилом, а не писать несколько конкретных правил для каждого раздела.