Исходный адрес запроса:
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
Вы видите мою проблему? Перезаписанный адрес добавляется автоматически, но это не то, что я хочу. Те же клавиши параметров приведут к лицевой стороне задней обложки.
Чтобы предотвратить добавление исходной строки запроса к целевому 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