我在 Ubuntu - Railo - Tomcat(无 Apache)上遇到了 404 重定向问题。
我有站点的 /WEB-INF/web.xml 将 404 错误重定向到自定义 404.cfm,它尝试读取某些 CGI 变量并对其进行操作。问题是我没有得到所有的 CGI 变量,大多数都是空的。QUERY_STRING 是从缺少的模板传递的唯一变量。其余的要么为空,要么为 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 服务器。