【发布时间】:2011-03-25 21:50:50
【问题描述】:
我在 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 服务器。
【问题讨论】:
标签: tomcat cgi http-status-code-404 railo