#nginx #url-rewriting #substitution
#nginx #перезапись URL-адреса #замена
Вопрос:
Я очень новичок в nginx, но мне было поручено выполнить некоторые правила перезаписи, чтобы охватить новую структуру URI в рамках миграции веб-сайта. Я просмотрел этот сайт и вижу, что есть решение, которое, я не уверен, будет работать для нас.
В основном я беру URL, например abc.com/l/hello there и замените его на abc.com/address/hello-there
Таким образом, замена «/ l /» на «/ address» проста, но замена » » на «-» кажется очень сложной, поскольку я, похоже, не могу манипулировать переменной $ 2, где она находится.
У кого-нибудь есть какие-либо предложения? Было предложено, чтобы я просто перенаправил его на серверную часть javascript, поскольку там было бы намного проще справиться. Если бы существовало решение, в котором замена » » на «-» могла бы произойти в серверном блоке, а затем передаваться в блок location для обработки «/ l /» на «/ address».
Любые предложения будут приняты с благодарностью.
Комментарии:
1. Что пробовали до сих пор?
2. Если вы с удовольствием используете openresty, вы могли бы сделать это довольно легко в блоке access_by_lua.
3. привет.. Спасибо за ответ. На самом деле я не слышал о Lua, но после быстрого поиска в Google он выглядит так, как будто он более мощный. Как бы выглядело что-то подобное?
4. На самом деле, важно отметить, что URI не всегда будет иметь одинаковую структуру, например, это может быть что-то вроде /hello there everyone . По сути, URI не имеет предопределенной структуры, только то, что он будет содержать переменную величину » «.