httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacek Prucia <jacek.pru...@7bulls.com>
Subject Re: mod_negotiation/dir subrequest problem [was: Tagging .31 soon]
Date Thu, 31 Jan 2002 20:10:49 GMT
On Thu, 31 Jan 2002 12:42:56 -0500
"Joshua Slive" <joshua@slive.ca> wrote:

[...]
> In fact, this configuration looks terribly invalid.  It should be
> RedirectMatch /build/tomcat/(.*)
> http://jakarta.apache.org/build.jakarta-tomcat/$1
> Or even better
> Redirect /build/tomcat/ http://jakarta.apache.org/build.jakarta-tomcat/
> 
> We should be returning an error if the target argument to
> Redirect/RedirectMatch isn't an absolute URL.

That's the case with 1.3 and (after a quick check) also with 2.0. Inside add_redirect_internal()
there's a check on second argument with ap_is_url() and if that test fails, server bails out
with: Redirect to non-URL

However I think that sometimes it might make sense to have target an absolute URI, but that
would trigger so called self-referenced redirect. Something that mod_dir already does. I know
that behaviour of such redirect would depend on value of UseCanonicalName directive. On the
other hand if that directive has bogus value, then mod_dir will not work anyway. Assuming
people are setting ServerName and UseCanonicalName correctly, they can use something like:

Redirect /foo /path/to/bar

...to mean something like: redirect /foo to this_server/path/to/bar which might be usefull
in some scenarios.

I've already prepared a patch for mod_alias to meet my own needs. It makes mod_alias accept
absolute path as second argument to redirect and then at filename translation phase it just
builds valid URL with ap_construct_url (the same thing mod_dir already does). If people are
interested I can clean it up and send to list.

-- 
Jacek Prucia
7bulls.com S.A.



Mime
View raw message