cicada3301
@cicada3301
DevOps newbe

Как сделать редирект nginx?

Суть вопроса такая, необходимо сделать редирект, что если приходит запрос GET /car/car_city/?command= его перенаправляло на /car/machine.php?command=

попробовал сделать в таком виде:

rewrite /car/car_city/?command=(.*)$ /car/machine.php?command=$1 last;


В дебаг логе вижу следующее:

2020/10/07 11:12:51 [notice] 62376#62376: *399173 "/car/car_city/?command=(.*)$" does not match " /cat/car_city/", client: xxx.xxx.xxx.xxx, server: xxxxx.xxxxx, request: "GET /cat/car_city/?command=check&txn_id=3956455137&account=68217004&sum=150.00&agreement_code=0 HTTP/1.1", host: "xxxxx.xxx"


В чем может быть проблема?
  • Вопрос задан
  • 142 просмотра
Пригласить эксперта
Ответы на вопрос 1
Adamos
@Adamos
После ? идут GET-параметры запроса.
nginx rewrite обрабатывает только основную часть url, и вашу запись со знаком вопроса считает просто регуляркой, в которой один слеш опционален.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы