On Saturday, May 28, 2011 21:10:14 Matisse Enzer wrote: > $r->custom_response( HTTP_UNAUTHORIZED, $uri ); > return HTTP_UNAUTHORIZED
Make sure $uri does not contain the hostport part. It must start with a slash. The next lines are from modules/http/http_request.c: /* * Two types of custom redirects --- plain text, and URLs. Plain text has * a leading '"', so the URL code, here, is triggered on its absence */ if (custom_response && custom_response[0] != '"') { if (ap_is_url(custom_response)) { /* * The URL isn't local, so lets drop through the rest of this * apache code, and continue with the usual REDIRECT handler. * But note that the client will ultimately see the wrong * status... */ r->status = HTTP_MOVED_TEMPORARILY; apr_table_setn(r->headers_out, "Location", custom_response); } else if (custom_response[0] == '/') { [...] r->method_number = M_GET; ap_internal_redirect(custom_response, r); return; I think you want to enter the "else if" branch. Further, make sure the document that is redirected to ends in a Apache2::Const::OK. Torsten Förtsch -- Need professional modperl support? Hire me! (http://foertsch.name) Like fantasy? http://kabatinte.net