I was unable to get a custom 404 or other error page
to work with ACS 4. I would always get a message in
my log file saying "recursion limit exceeded".
I set up my config file with something like this:
ns_section "ns/server/${server}/redirects"
ns_param 404 "/global/notfound.html"
I found a thread from the old ACS bboard, which indicates
that there is a bug with caching of ad_conn information
somehow.
http://www.arsdigita.com/bboard/q-and-a-fetch-msg?
msg_id=000c26
And in fact adding the suggested patch to rp_handler does
seem to make the error redirect work in my OpenACS4 installation.
Has anyone else been able to get custom error pages to work
without this hack??
ad_proc -private rp_handler {} {
The request handler, which responds to absolutely every HTTP
request made to
the server.
} {
ad_call_proc_if_exists ds_collect_connection_info
if {[string compare [ns_conn url] [ad_conn url]] != 0} {
rp_debug "ad_conn and ns_conn differ, must be a redirect!"