On Wed, Aug 8, 2012 at 9:30 PM, <jniederber...@comcast.net> wrote: > Thank you – both Kevin and Ekki > > For my purposes I think Ekki’s idea sounds more like it could work. > > Ekki – would you know how to phrase that match in the negative? > In other words, write a regex to match .jpeg, .doc, ....etc. etc. > and if those matches FAIL - then use perl handler? >
Joe, I don't think that that approach will work in the long term. What if someone wants to serve a file *.xyz in the future? You would have to adjust that regex. And again, and again... I think it would be much easier to set up <DirectoryMatch 'regex'> and <FilesMatch 'regex'> sections for what you want to serve by your handler(s), and let Apache handle _all_ other files/dirs. Filter on what is the smaller set - and I think that's your dirs and .html files. All other files not mentioned in those <*Match ...> sections are automatically handled by Apache. Further - a regex matching all those files you don't want to handle yourself would be rather lengthy and unwieldy. Take a look at Apaches fine documentation, look for <DirectoryMatch ...> and <FilesMatch ...> directives. http://httpd.apache.org/docs/2.2/mod/core.html#directorymatch http://httpd.apache.org/docs/2.2/mod/core.html#filesmatch For example, a <FilesMatch ...> for . htm or .html Files would look like (untested): PerlRequire /var/www/mysite/cgi-bin/my_modperl_module.pm <FilesMatch "\.html?$"> SetHandler perl-script PerlResponseHandler my_modperl_module # which contains a sub handler {...}; </FilesMatch> Cheers, Ekki > > > > > *From:* Ekki Plicht (DF4OR) <e...@plicht.de> > *Sent:* Wednesday, August 08, 2012 2:23 PM > *To:* mod_perl list <modperl@perl.apache.org> > *Subject:* Re: Configuring mod-Perl to handle only some file types > > > > On Wed, Aug 8, 2012 at 8:13 PM, <jniederber...@comcast.net> wrote: > >> Hello, >> >> I have a mod_perl program that is written to handle URL's that >> name either a directory or *.html type files. All other types >> I want Apache to just do its regular thing (e.g., serve image >> type files, or .doc, .pdf, .js, .css, etc.) >> What's a good way to configure that? So for an entire website directory, >> and all its substructure, my perl handler gets only directories >> or *.html files, and apache handles everything else without >> involing my perl handler. >> >> >> > I just used a <FilesMatch> section in httpd.conf. Like so: > <FilesMatch "\.(tx|html\...)$"> > SetHandler perl-script > PerlResponseHandler TxShow > </FilesMatch> > > This match expression filters out any files that either end in .html.?? or > .tx.??, the two ?? being language extensions used for auto negotiation. > > You can build nearly any kind of Regex there to filter out what you want > handled by your mod_perl script and what should be handled by Apache > directly. > > Cheers, > Ekki > > >