Railo Tomcat 404 重定向和 CGI​​ 变量

发布于 2024-10-26 01:23:56 字数 1750 浏览 1 评论 0原文

我在 Ubuntu - Railo - Tomcat(无 Apache)上遇到了 404 重定向问题。

我将网站的 /WEB-INF/web.xml 将 404 错误重定向到自定义 404.cfm,该 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 服务器。

I've run into an issue with 404 redirects on Ubuntu - Railo - Tomcat (no Apache).

I have the site's /WEB-INF/web.xml redirecting 404 errors to a custom 404.cfm which tries to read and act on certain CGI variables. The problem is that I'm not getting all the CGI variables, most are null. The QUERY_STRING is the only variable passed from the missing template. The rest are either null or for the 404.cfm.

What I want is the template path and query string of the missing template.

Here are some of the cfdumps I've tried:

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

Any ideas would be GREATLY appreciated. Remember, Tomcat is the web server without Apache.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

冷…雨湿花 2024-11-02 01:23:57

您可能应该做的不是使用 Tomcat 进行 404 重定向。你是对的,我无法让它获取最初请求的路径。这可能是设计使然。

而是将 Railo 服务器管理器中的 404 处理程序设置为您的 CFM 文件。然后您将看到实际请求的页面。干杯!

What you should probably do is not use Tomcat for the 404 redirect. You are correct, I could not get it to get the originally requested path. This is likely by design.

Instead set the 404 handler in the Railo server administrator to your CFM file. You will then see the actual requested page. Cheers!

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文