The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Nginx, Perl, GET, !*! Golub Mikhail, 06-Мрт-09, 15:48  [смотреть все]
Все привет.

Есть задача - раздавать много статики.
И среди статики есть одна страничка, которая получает методом GET запрос и должна выдать результат.
Что-то типа index.pl?test=1?test2=2
И результат не замысловатый:
test - 1
test2 - 2

Для статики - nginx.
Но не хочу к нему приделывать fastcgi потом perl или php.
Вопрос.
Как (чем) не прибегая к cgi, отбработать параметры GET и выдать страничку?
Может через SSI - не нашел, как.
Через свроенный Perl в nginx - ен получается достать и разобрать параметры запроса.
P.S. В качетсве параметра в get может быть url, поэтому split по знаку равно не совсем подходит ...

Кто может подсказать варианты решения?

  • Nginx, Perl, GET, !*! Pahanivo, 16:14 , 06-Мрт-09 (1)
    >[оверквотинг удален]
    >Вопрос.
    >Как (чем) не прибегая к cgi, отбработать параметры GET и выдать страничку?
    >
    >Может через SSI - не нашел, как.
    >Через свроенный Perl в nginx - ен получается достать и разобрать параметры
    >запроса.
    >P.S. В качетсве параметра в get может быть url, поэтому split по
    >знаку равно не совсем подходит ...
    >
    >Кто может подсказать варианты решения?

    Может стоит rewrite модом превратить динамик ссылку в статик? )

    index.pl?test=1?test2=2 -> /1/2/index.pl как вариант

    • Nginx, Perl, GET, !*! Golub Mikhail, 16:23 , 06-Мрт-09 (2)
      >[оверквотинг удален]
      >>Через свроенный Perl в nginx - ен получается достать и разобрать параметры
      >>запроса.
      >>P.S. В качетсве параметра в get может быть url, поэтому split по
      >>знаку равно не совсем подходит ...
      >>
      >>Кто может подсказать варианты решения?
      >
      >Может стоит rewrite модом превратить динамик ссылку в статик? )
      >
      >index.pl?test=1?test2=2 -> /1/2/index.pl как вариант

      Вариант, спасибо. Чего-то не додумался ... :(

      Но только вот в чем проблема.
      В параметрах запроса передается так же url.
      Т.е. index.pl?url=http://opennet.ru/?quote=not_empty&az=post?qwerty=gfh

      Пока получилось так (модуль perl для nginx)

      package mytest;

      use nginx;

      sub handler {
          my $r = shift;

          $r->send_http_header("text/html");
          return OK if $r->header_only;
          @pairs = split(/&/, $r->args);
          foreach $pair (@pairs) {
              ($name, $value) = split(/=/, $pair);
              $res{$name} = $value;
              $r->print("NAME $name VALUE $value
      ");
          }
          return OK;
      }

      1;
      __END__




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру