>> How do I get Apache to execute a CGI script in the middle of a URL?
>
> 1. You'll have to enable mod_rewrite for Apache and figure out how
> to create
> the appropriate url rewriting rules (basically, regular
> expressions)....
>
> 2. We use a bunch of URL rewrite rules to solve this issue....
>
> 3. One way to deal with this is using rewriting rules but IMHO
> there is a cleaner solution to this, which is something we have
> used in the past. Keep your mylibrary CGI in your favorite
> location, and then attach a custom handler to it, using the
> following paradigm:
>
> <Location /mylibrary>
> SetHandler mylibrary-handler
> Action mylibrary-handler /cgi-bin/mylibrary.pl virtual
> </Location>
>
> (here I assume that your cgi script is at
> http://example.com/cgi-bin/mylibrary.pl). Using this setup, any
> URL that starts with /mylibrary will cause apache to call your
> cgi script, with the proper path_info filled in. A similar
> approach is to have the script actually reside in /mylibrary but
> declare it as such by mapping the /mylibrary url to the cgi
> handler, but I find the above approach cleaner since you don't
> have to mix your scripts and docs. See the apache docs for more
> details.
Thank you for the prompt replies.
Counting a previous message, there were three "votes" for using
mod_rewrite and one vote for the use of an Action handler. Like Perl,
there seems to be more than one way to do it. I have initially played
with the handler technique and have had some success. Now I have to
go back to the RESTful manual and see about turning my content into
"resources". 'More later, maybe much later.
--
Eric Lease Morgan
University Libraries of Notre Dame
|