Ubuntu - Railo - Tomcat (Apache なし) で 404 リダイレクトの問題が発生しました。
サイトの /WEB-INF/web.xml で 404 エラーをカスタム 404.cfm にリダイレクトしています。カスタム 404.cfm は特定の CGI 変数を読み取って処理しようとします。問題は、すべての CGI 変数を取得していないことです。ほとんどが null です。QUERY_STRING は、欠落しているテンプレートから渡される唯一の変数です。残りは null または 404.cfm 用です。
私が欲しいのは、欠落しているテンプレートのテンプレート パスとクエリ文字列です。
以下は、私が試した cfdump の一部です。
<cfdump var="#cgi#">
<cfdump var="#getPageContext().getRequest()#"><!--- returns HTTPServletRequestWrap class, fields, methods --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest()#"><!--- returns ApplicationHttpRequest class, fields, methods --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getAttributeNames()#"><!--- returns apparently useable strings --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getAttribute("query_string")#"><!--- returns Empty:null --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getParameterNames()#"><!--- returns "id" --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getHeaderNames()#"><!--- returns apparently useable strings --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getQueryString()#"><!--- returns original template's query string Yay! --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getRequestURL()#"><!--- returns URL for 404.cfm --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getAttribute("Referer")#"><!--- returns Empty:null --->
<cfdump var="#getPageContext().getRequest().getOriginalRequest().getAttribute("Redirect_URL")#"><!--- returns Empty:null --->
どんなアイデアでも大歓迎です。Tomcat は Apache を使用しない Web サーバーであることを思い出してください。