Print

Print


Eric,

You'll have to enable mod_rewrite for Apache and figure out how to create
the appropriate url rewriting rules (basically, regular expressions). Here's
a site that gives some examples:

http://www.the-art-of-web.com/system/rewrite/1/

-Harrison

On 7/30/07, Eric Lease Morgan <[log in to unmask]> wrote:
>
> Tim Hodson wrote:
>
> > In terms of versioning and user readability (you never know someone
> > may want to bookmark a url :) ), you could perhaps try a url that
> > looked something like this using two examples above:
> >
> > http://dewey.library.nd.edu/mylibrary/ws/v1/facets/
>
>
> How do I get Apache to execute a CGI script in the middle of a URL?
>
> I have been reading RESTful Web Services in an effort to learn how to
> create a "good" Web Services interface to MyLibrary. Similar to the
> URL above, it advocates against (simple/traditional) name/value pairs
> specified in a GET request. Instead it advocates for the fuller use
> of HTTP methods such as GET, HEAD, POST, PUT, DELETE, TRACE, and
> OPTIONS in combination with path_info data used for input. In such an
> environment an HTTP GET request would retrieve data. PUT might create
> data. POST might edit data. DELETE would... delete data. Etc. I can
> live with this even though it is not the way I would have done it on
> my own.
>
> Thus, one of my URL's might look like this:
>
>    http://example.edu/mylibrary/resource
>
> Sent as a GET request, the response would be an XML (or JSON) stream
> of data listing resource names or IDs . The following URL, sent as a
> PUT request might create a resource:
>
>    http://example.edu/mylibrary/resource/Wikipedia
>
> All of this is fine and dandy. Writing a CGI script (server
> application) that looks at the HTTP method and parses the path_info (/
> resource/Wikipedia) and branches accordingly is rather trivial.
>
> My problem is getting Apache to know that /resource/Wikipedia is
> intended to be input for the script named mylibrary. When I pass
> something like the URL directly above to my script Apache comes back
> and says, "File not found" because it is looking for a directory/file
> named Wikipedia. How do I get Apache to execute the script named
> mylibrary? I could specify the URL like the following, but it is ugly:
>
>    http://example.edu/mylibrary/index.cgi/resource/Wikipedia
>
> What am I doing wrong? How do I need to configure Apache accordingly?
>
> --
> Eric Lease Morgan
> University Libraries of Notre Dame
>



--
Harrison Dekker
Coordinator of Data Services
Doe/Moffitt Libraries, UC Berkeley