Вот были у нас на сайте баннеры www.reclama.ru. Вставлялись они
в страницы посредством маленького скрипта, который следовало
вызывать как <!--#include virtual="/cgi-bin/ibanner?login"-->
Все это было хорошо, но при очередной переделке engine Communiware
страницы перестали обрабатываться хэндлером server-parsed
а стали обрабатываться хэндлером perl-script.
Естественно, первой мыслью было заменить
<!--#include virtual
на
Apache::Include->virtual('/cgi-bin/ibanner?login')
в соответствующем месте перлового обработчика.
Но, при попытке это сделать, обнаружилось, что скрипт ругается
и говорит "Вы меня не через SSI вызываете"
Проверка производилась по наличию переменной $ENV{'DOCUMENT_URI'}
Проверку я, естественно, оторвал, дабы дизайн сайта не разрушать да
призадумался:
ведь этот огород городился для того, чтобы всякие сторонние SSI-скрипты
можно было использовать с моим модулем без переделок. А, как выясняется,
окружение, создаваемое Apache::Include не на 100% соответствует
окружению, создаваемому mod_include.
Отсюда вопрос: кто нибудь на эти грабли уже наступал, и исследовал
проблему досконально?
В чем заключаются отличия? (полагаю, что там более одной переменной
не хватает)
И что требуется для того чтобы создать у SSI скрипта впечатление,
что его вызвали честно из <!--#include virtual ?
--------------------------------------------------
Victor Wagner vitus@xxxxxx
Programmer Office:7-(095)-203-51-19
Institute for Commerce Home: 7-(095)-135-46-61
Engineering http://www.ice.ru/~vitus
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.