parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Если коротко - эта связка не работает. Вопрос - только ли у меня так?

Юзер 11.10.2005 11:30

В наличии сервер Apache/2.0.54 (FreeBSD 5.4).
Раньше проект работал под Apache 1.3 - никаких проблем не было.

Задача: передавать урлы несуществующих файлов парсер-скрипту, который извлекает нужные документы из базы или выдает сообщение об ошибке (404 и т.д.).

Область проблемы: работа rewrite_mod c файлами, которым назначен обработчик в виде CGI скрипта. (Handler/Action).

Суть проблемы: согласно rewrite_log - происходит корректный разбор строки согласно условиям и регулярному выражению, после чего ядро возвращает модулю строку
/cgi-bin/parser3.cgi/our_parser_file.html, и rewrite_mod разбирает эту строку.
Далее ядро снова ему возвращает /cgi-bin/parser3.cgi/cgi-bin/parser3.cgi/our_parser_file.html и так до тех пор, пока не будет достигнуто MaxRedirects или ограничение на число внутренних подзапросов.


Что пробовали:
- огромное количество экспериментов с rewrite_mod (на 1.3 все работает как часы)

- назначали ForceType для <Location>, <Files> и т.д. (на 1.3 работает и выглядит очень красиво)

- делали cgi скрипт, с заголовком
#!/loca/usr/bin/parser.cgi 
[парсерный код]
Но он работал только при запуске из консоли, на вебе - просто стандартный ответ парсера.

- Ставили outputFilter (через mod_ext_filter): тоже самое + проблемы c stdin и переменными окружения.

и т.д.

В общем, можно очень много писать - что делали, в чем была причина неработоспособности.


Единственный рабочий вариант - DocumentError + DirectoryIndex.


Можно ли решить задачу как-нибудь "штатным" способом?