Railo Tomcat 404 перенаправляет и CGI Vars - PullRequest
0 голосов
/ 26 марта 2011

Я столкнулся с проблемой с 404 перенаправлениями в Ubuntu - Railo - Tomcat (без Apache).

У меня есть сайт /WEB-INF/web.xml, перенаправляющий 404 ошибки в пользовательский 404.cfm, который пытается читать и воздействовать на определенные переменные CGI.Проблема в том, что я не получаю все переменные CGI, большинство из них пустые.QUERY_STRING - единственная переменная, переданная из отсутствующего шаблона.Остальные значения либо нулевые, либо для 404.cfm.

Мне нужны путь к шаблону и строка запроса отсутствующего шаблона.

Вот некоторые из cfdumps, которые я пробовал:

<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.

1 Ответ

1 голос
/ 26 марта 2011

Что вам, вероятно, следует сделать, это не использовать Tomcat для перенаправления 404.Вы правы, я не мог получить его, чтобы получить первоначально запрошенный путь.Это вероятно по замыслу.

Вместо этого установите обработчик 404 в администраторе сервера Railo на ваш файл CFM.Затем вы увидите актуальную запрашиваемую страницу.Ура!

...