Я пытаюсь перенаправить кучу старых URL-адресов на новые UR-адреса с помощью директивы map. Я могу делать простые, но как бы застрял на тех, у которых есть параметры запроса.
Мне нужно это сделать
/people.php?personid=20 -> /people/20
/events.php/eventid=20 -> /event/20
/info.php?name=john&age=20 -> /person/john/20
У меня есть директива карты
map $request_uri $redirected_uri {
~^people.php\?personid=(.*)^ /people/$1?;
}
Но, похоже, не работает. Любая помощь будет оценена. Заранее спасибо.
Мой серверный блок имеет этот код
if ($redirected_uri) {
rewrite ^ $redirected_uri permanent;
}
Кроме того, я пытаюсь сделать следующее, а также переписать / people / 20 обратно людям. php? PersonId = 20 Итак, для этого у меня есть это
map $request_uri $new_uri {
default 0
~^/people/(.*) /people.php?personId=$1;
}
, а затем в серверном блоке
if ($new_uri) {
rewrite ^ $new_uri last; // this doesn't work, throws 404
}