On Thu, 31 Jan 2002 12:42:56 -0500
"Joshua Slive" <[EMAIL PROTECTED]> 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.


Reply via email to