Рейтинг:1

Перенаправление местоположения с домена на другой в nginx

флаг cn

Я хочу перенаправить местоположения play.example.com/u/<идентификатор пользователя> к example.com/u/<идентификатор пользователя> и play.example.com/b/<идентификатор игры> к play.example2.net/b/<идентификатор игры>

Хотя у меня есть варианты для веб-сайта (webroot и API, которые я размещаю в одном домене). Как я могу этого добиться?

Рейтинг:4
флаг us

Если я правильно понял ваш вопрос, это должно работать:

сервер {
  имя_сервера play.example.com;

...

  расположение ~ ^/u/(.*)$ {
    вернуть 301 $scheme://example.com/u/$1;
  }

  расположение ~ ^/b/(.*)$ {
    вернуть 301 $scheme://play.example2.net/b/$1;
  }
}
флаг us
Отредактированный ответ, пожалуйста, попробуйте в местоположении есть регулярное выражение, вы можете проверить идентификатор пользователя и идентификатор игры с помощью символов, на данный момент он разрешает любой текст после этих мест
флаг us
Рекомендуется использовать хотя бы начальный якорь `^` в регулярном выражении: `location ~ ^/u/(.*) {`. Текущие блоки местоположения соответствуют `.*/u/`, что является слишком широким соответствием.
флаг us
Да, вы абсолютно правы, я исправил ответ, спасибо

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.