2013-10-28 5 views
1

Я ищу перенаправление URL-адресов с параметрами в каталоги с файлами, именами которых присвоены с помощью модуля перенаправления nginx.Nginx rewrite params/args to directories

например переадресовать http://mydomain.com/beep?page=3

в

http://mydomain.com/redirect/pages/3.json

Я несколько раз пытался, но с треском провалились ...

ответ

0

Попробуйте это, может работать, в зависимости от вашей версии Nginx.

location /beep { 
    return 301 http://example.com/redirect/page/$arg_page.json 
} 
+0

Не совсем то, что я искал (как бы отправить его обратно в нашу балансировку нагрузки - следовало бы отметить, что в этом вопросе), но $ arg_page было именно то, что я искал и помог мне решить эту проблему, в конце я использовал: rewrite^(/ beep?) /redirect/pages/$arg_page.json спасибо! –

+0

Я запутался, потому что вы сказали слово «переадресация» в своем вопросе, не заметили, что вы сказали «переписать» в заголовке вопроса, ваш переписывающий файл работает, но это не совсем правильно, вы написали '(/ beep?)' I подумайте, что '?' на самом деле не совпадает с адресом в URL-адресе, вместо этого он говорит, что буква 'p' является необязательной, попробуйте URL' example.com/bee? page = 3', и я думаю, что это сработает, я Я исправлю свой ответ, чтобы переписать, а не переадресовать в ближайшее время. –