Привет, народ.
Попробую повторить свой вопрос другими словами. У меня есть модуль:
http://www.zope.org/Members/phd/mod_pcgi2, который вешается на Location:
<Location /pcgi>
SetHandler pcgi-handler
</Location>
и использует для работы разную информацию, которую он получает от Апача,
в первую очередь PATH_INFO. Пользователи модуля обнаружили, что модуль не
ставится на root: <Location /> дает проблемы. Оказалось, что Апач посылает
мне в этом случае неверный PATH_INFO - иногда NULL, иногда пустую строку, а
то и мусор всякий.
Позже была обнаружена проблема с путями, начинающимися с общего
префикса. Если я ставлю этот модуль на <Location /a/b> - то все происходит
нормально, пока я не добавлю <Location /a/c> - после чего оба пути
перестают работать. Похоже, это та же самая проблема - корень является
префиксом лбого пути :)
Один из пользователей прислал мне сегодня ссылку
http://www.zope.org/Members/viehmann/zope_mod_pcgi2_apache_trouble, где
пространно объяснено, что происходит, и как попатчить Zope. Выглядит все
это слишком сложно и подозрительно, вот может, кто-то мне объяснит... или
хотя бы выдвинет какие-нибуь предположения, что все это значит:
When using Apache (1.3.12) and mod_pcgi2 (?/March 2000) to serve a Zope
site as the whole Server (i.e. "http://server/" is handled by Zope), one
may (I did) encounter the problem that paths get cut off in a way that the
first pathname component is irrelevant to which resource you are presented
(e.g. the ZopeButton can be retrieved at
"http://server/this_does_not_matter/p_/ZopeButton" instead of
"http://server/p_/ZopeButton"). This is due to something weird in
Apache/mod_pcgi2 (a bug probably, I am not sure of whom...): In these cases
Apache/mod_pcgi2 send as the script name (enviroment var SCRIPT_NAME) the
first path component instead of an empty string as would be working (a "/"
would probably also be appropriate, but it turned out that does not work
for Zope) and strips this path off of PATH_INFO (where it should go), i.e.:
"/test/test.jpg" is delivered as SCRIPT_NAME="/test" and
PATH_INFO="/test.jpg" where it should be SCRIPT_NAME="" and
PATH_INFO="/test/test.jpg". Also when handling a request for "/", Apache
appends an "index.html" (or whatever the DirectoryIndex is set to).
Oleg. (All opinions are mine and not of my employer)
----
Oleg Broytmann National Research Surgery Centre http://sun.med.ru/~phd/
Programmers don't die, they just GOSUB without RETURN.
=============================================================================
= 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.