[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

DirectoryIndex vs. PerlTransHandler


I define a generalized output filter for any .page file:

<FilesMatch "\.page">
     SetHandler              perl-script
     PerlOutputFilterHandler Layout
</FilesMatch>

I have a <Directory> block:

<Directory ${WEB_07_ROOT}/tools>
     DataSources     Environment
</Directory>

which I'm referencing via an Alias from a VirtualHost:

<VirtualHost *:${WEB_07_PORT}>
     ServerName      home.Dimension.org
     DocumentRoot    ${WEB_07_ROOT}/dimension
     DirectoryIndex  index.page

     Alias           /tools ${WEB_07_ROOT}/tools

     <FilesMatch "\.page">
         SetHandler              perl-script
         PerlResponseHandler     Data
     </FilesMatch>
</VirtualHost>

(never mind the macro expansion strings, I'm pre-processing the
configuration file because it's just easier that way).

My PerlResponseHandler works fine on files in the /tools directory for
pages that are specified, for example:

/tools/environment.page
/tools/index.page

If I use just the directory URI:

/tools/

the DirectoryIndex specification works but I don't get any configuration
data inside the PerlResponseHandler from any variant of
Apache2::Module::get_config.  So my response handler doesn't work right.
  Everything's fine when I specify index.page, and when I don't the URI
comes back as index.page, but in the case where DirectoryIndex makes
this happen I don't get any configuration data item.

I have constructed a PerlTransHandler which can be attached to the
VirtualHost.  In it I do what DirectoryIndex would do, I check for a
trailing slash and append index.page.  When I do this the subsequent
response handler has appropriate configuration data.

I find this odd.  Can anyone explain why DirectoryIndex doesn't work the
same as an "equivalent" PerlTransHandler?


Mail converted by mhonarc 2.6.15
This archive provided courtesy of JSW4.NET, Internet Hosting Services for Small Business.