Конкретное перенаправление nginx удаляет параметры получения и добавляет новые

У меня проблема с определенным перенаправлением. Мой URL-адрес http://example.com/test/some_file.jpg?refferer=mobile И это должно перенаправлять на http://example.com/parser.php?q=some_file.jpg

Обычное перенаправление (без получения параметров), которое я сделал

rewrite test/(.*) /parser.php?q=$1 last;

person Zdunek    schedule 28.01.2015    source источник


Ответы (2)


http://nginx.org/r/rewrite

Если замещающая строка включает новые аргументы запроса, после них добавляются предыдущие аргументы запроса. Если это нежелательно, размещение вопросительного знака в конце строки замены позволяет избежать их добавления.

Итак, ответ очень прост:

rewrite test/(.*) /parser.php?q=$1? last;
person Alexey Ten    schedule 28.01.2015

person    schedule
comment
Извините, не перенаправить, переписать, но без элементов после ? Когда я попробую что-то сделать, как вы, наконец, ссылка будет example.com/parser.php ?q=some_file.jpg&referrer=мобильный - person Zdunek; 28.01.2015
comment
затем что-то вроде переписать ^.*$ /parser.php?q=$1 последним; вместо возврата 301 поиграйте с ним, я думаю, $arg_referrer — это то, о чем вам нужно было знать, чтобы решить вашу проблему. - person SuddenHead; 28.01.2015
comment
Извините, не понял, пока вы не отредактировали свой комментарий. Да, просто добавить? распишитесь в конце, как предложил Алексей Тен - person SuddenHead; 28.01.2015