ФорумРазработкаУстановка и администрирование ПОВебсервер → nginx и рерайты

nginx и рерайты

  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 20 февраля 2009 г. 11:13

    Здравствуйте, дорогая редакция.

    у меня есть урлы вида
    site.ru/counter/2142/1/

    мне надо их перехватывать nginx-ом, чтобы они до апача не доходили

    первая цифра не важна, важна последняя, это цвет картинки
    мне надо этот урл превратить в /images/counters/$1.gif

    я пробовал так:

    location /counter/ {
    root /home/epsyl/data/www/top.my-cs.ru
    rewrite ^/[0-9]+/(0-9)+/$ /images/counters/$1.gif break;
    }

    но это не пашет
    все умрут, а я изумруд
  • disc

    Сообщения: 843 Репутация: N Группа: Джедаи

    Spritz 20 февраля 2009 г. 11:23, спустя 9 минут 40 секунд

    /[0-9]+/(0-9)
    наверное тут проблема.
    Надо так:
    rewrite ^/[0-9]+/([0-9])/$ /images/counters/$1.gif break;
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 20 февраля 2009 г. 11:32, спустя 9 минут 16 секунд

    но это не пашет
    что отдаёт?
    выложи полный конф server директивы
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 20 февраля 2009 г. 11:37, спустя 4 минуты 15 секунд


    /[0-9]+/(0-9)
    наверное тут проблема
    ?

    ,kz
    момент .. )
    все умрут, а я изумруд
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 20 февраля 2009 г. 11:41, спустя 4 минуты 17 секунд

    rewrite ^/counter/[0-9]+/(0-9)+/$ /images/counters/$1.gif break;
  • Patrick

    Сообщения: 506 Репутация: N Группа: Кто попало

    Spritz 20 февраля 2009 г. 11:43, спустя 2 минуты 34 секунды

    Таже так ^/counter/([0-9]+)/([0-9]+)/$
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 20 февраля 2009 г. 11:59, спустя 16 минут 6 секунд

    в еррор_лог:
    2009/02/20 11:59:14 [error] 46558#0: *48 "/home/epsyl/data/www/top.my-cs.ru/counter/3/1/index.html" is not found (2: No such file or directory), client: 90.151.100.106, server: top.my-cs.ru, request: "GET /counter/3/1/ HTTP/1.1", host: "top.my-cs.ru", referrer: "http://**.ru/"
    2

    я не такое правило хотел написать))
    все умрут, а я изумруд
  • md5

    Сообщения: 11960 Репутация: N Группа: в ухо

    Spritz 20 февраля 2009 г. 12:01, спустя 1 минуту 8 секунд

    всё, всем спасибо
    надо было /counter в начало добавть, правило не отрабатывало
    и регулярка кривая немного былА)

    финальная версия

    location /counter/ {
    root /home/epsyl/data/www/top.my-cs.ru
    rewrite ^/counter/[0-9]+/([0-9]+)/$ /images/counters/$1.gif break;
    }


    спс диц и патрег
    все умрут, а я изумруд

Пожалуйста, авторизуйтесь, чтобы написать комментарий!