есть урл вида
sub.domain.com/4e/0a/4e0a3a54d3a5s4d3as5 4d3a54/file.dat (все пути существуют физически, т.е. root указывает в /home/project, сервер, соответственно, ищет файл в /home/project/4e/0a/4e0a3a54d3a5s4d3as54 d3a54/file.dat и находит)

этот урл нужно поменять, т.е. запрос будет приходить на
sub.domain.com/zzz/0/4e0a3a54d3a5s4d3as5 4d3a54/file.dat, я написал локейшн вида
location ~* ^/zzz/(.)/(.*)/file.dat {…}

но физически пути к файлу остались прежними

вопрос! как и что нужно написать внутри {} локейшна? alias или rewrite? Я не понимаю, как мне из запроса взять первые четыре символа и сделать из них папки?

Tagged with →  

16 Responses to Друзья, помогите пожалуйста с реврайтом в нджинксе?

  1. Ikablack:

    парсер!!

  2. XsdSport:

    Без pastebin.com нихера не понятно.

  3. Ikablack:

    : щас попробую

  4. Ikablack:

    : синтаксис подсветки какой выбрать? :

  5. Ikablack:

    вот тут pastebin, например

  6. XsdSport:

    Случай описан в примере на http://wiki.nginx.org/HttpRewriteModule.… Читай.

  7. XsdSport:

    : Парсер — лох. Вот.

  8. Ikablack:

    : мерси, читаю

  9. Ikablack:

    Сделал, не работает рерайт(( http://pastebin.com/buXH9x1Q

  10. AsdGood:

    : лог пишет: «/home/project/zzz/0/4e0a3a54d3a5s4d3as5 4d3a54/file.dat» No such file or directory «GET /zzz/0/4e0a3a54d3a5s4d3as54d3a54/file.da t
    а должен запрашивать? файл есть по пути или как там?

  11. Ikablack:

    : файл лежит по пути /home/project/4e/0a/4e0a3a54d3a5s4d3as54 d3a54/file.dat
    запрос будет приходить на /zzz/0/4e0a3a54d3a5s4d3as54d3a54/file.da t

  12. V-nFcuk:

    > Друзья, помогите пожалуйста с реврайтом в нджинксе?

    > Написал 31337

  13. Ikablack:

    Stephan-V: всё ок, вот ответ rewrite «^/zzz/(.)/([0-9,a-z]{2})([0-9,a-z]{2})(.*)» /$2/$3/$2$3$4 break; всем спасибо

  14. Ikablack:

    Чуваки, а ещё одну распарсить поможете? =]

Добавить комментарий