Адрес перезаписи Nginx не добавляет параметры автоматически

Исходный адрес запроса:

www.example.com/index.php?r=mobile/receive/index

Переписанный адрес запроса:

www.example2.com/newindex.php?r=mobile2/receive2/index2

Вот моя собственная конфигурация:

if ($args ~* "^r=mobile/receive/index") {
    rewrite ^ "http://www.example2.com/newindex.php?r=mobile2/receive2/index2";
}

Но конец перезаписанного адреса выглядит следующим образом:

http://www.example2.com/index.php?r=mobile2/receive2/index2&r=mobile/receive/index

Вы видите мою проблему? Перезаписанный адрес добавляется автоматически, но это не то, что я хочу. Те же клавиши параметров приведут к лицевой стороне задней обложки.

2
задан 21 November 2016 в 14:01
1 ответ

Чтобы предотвратить добавление исходной строки запроса к целевому URL-адресу, вам необходимо добавить дополнительный вопросительный знак (? ) в конце перезаписанного URL-адреса. Например:

rewrite ^ http://www.example2.com/newindex.php?r=mobile2/receive2/index2?;

Ссылка:
http://nginx.org/en/docs/http/ngx_http_rewrite_module.html#rewrite

2
ответ дан 3 December 2019 в 11:31

Теги

Похожие вопросы