Hi, I need some help finding the relevant documentation and/or a solution for the following. Problem: I have an Apache httpd server that I want to use to serve a variety of different formats for the same resource URL. Some of the resources are simple static files (OWL2 ontologies in this case serialized as both RDF/XML and Turtle). Additionally I have a Tomcat service that I want to use to silently intercept requests text/html and application/xhmtl versions of the resource.
I want the url rewrite/redirect/proxy to be invisible to the caller (http://example.com/ontology.owl with an Accept: text/html should go to http://example.com/parrot/parrot?documentUri=http://example.com/ontology.owl to generate the proper
HTML documentation output but not change the URL as a RewriteRule does, so that the user still thinks the URL is http://example.com/ontology.owl Use cases: GET http://example.com/v1/ontology.owl (Accept: application/rdf+xml) Returns the /v1/ontology.owl file found in the htdocs GET http://example.com/v1/ontology.owl (Accept: text/turtle) Returns the /v1/ontology.owl.ttl file found in the htdocs GET http://example.com/v1/ontology.owl (Accept: text/html) Returns the response from forwarding the request to a Tomcat webapp running at http://example.com/parrot/parrot?documentUri=http://example.com/ontology.owl Additionally, I would like the URL to remain http://example.com/v1/ontology.owl and not get rewritten or redirected where the client sees the webapp service's URL. I currently have the following rewrite rules in place that do most of what I want. RewriteCond %{HTTP_ACCEPT} !application/rdf\+xml.*(text/html|application/xhtml\+xml) RewriteCond %{HTTP_ACCEPT} text/html [OR] RewriteCond %{HTTP_ACCEPT} application/xhtml\+xml RewriteRule ^/v1/ontology.owl$ http://example.com/parrot/parrot?documentUri=http://example.com/v1/ontology.owl [L] RewriteCond %{HTTP_ACCEPT} application/rdf\+xml RewriteRule ^/v1/ontology.owl$ /v1/ontology.owl [L] # Rewrite rule to serve RDF/XML content from the vocabulary URI if requested RewriteCond %{HTTP_ACCEPT} text/turtle RewriteRule ^/v1/ontology.owl$ /v1/ontology.owl.ttl [L,R=303] # Choose the default response # --------------------------- # Rewrite rule to serve the RDF/XML content from the vocabulary URI by default RewriteRule ^/v1/ontology.owl$ /v1/ontology.owl [L] How do I set up the config to handle the browser-friendly formats as described above? Any help would be appreciated. I've looked through the docs and searched the net, but am at a loss on figuring this one out. Thank you very much for reading through this massive wall of text. I appreciate any help given. /Paul |