我有一个ColdFusion启用表单(用于验证)提交到单独的页面。提交此表单时,它会在操作页面上显示404,但是当我直接将操作URL加载到地址栏时,它会显示(出现错误,但没关系)。这是迄今为止我遇到的最奇怪的问题之一。
表单页面:http://www.jefferson.edu/population_health/_archive/contact_me.cfm
行动页面:http://www.jefferson.edu/population_health/_archive/contact_action.cfm
即使我尝试通过URL传递表单变量,它也会给我一个404.
答案 0 :(得分:2)
我的直觉是,当你提交数据并将数据绑定到另一个网络服务器时,该机器上还有另一个服务试图接管请求......当然,它无法找到基于它的正确页面它是自己的webroot。
如果单击http://www.jefferson.edu/population_health/_archive/contact_me.cfm,它会正常加载并返回200标头,IIS将作为服务器,但如果单击http://www.jefferson.edu/population_health/_archive/contact_me2.cfm,它会按预期抛出404,但使用自定义404正确处理并且标头响应仍然是IIS。但是如果单击http://www.jefferson.edu/population_health/_archive/contact_me.cfm?foo=bar,它将返回ApacheSling默认404和标题信息,表明服务器是“Day-Servlet-Engine / 4.1.12”。
答案 1 :(得分:0)
您的页面发布到页面contact_action.cfm ...在您的问题中,您指出正确的页面应为“mailaction.cfm”。
如果操作页面实际上是mailaction.cfm,那么您只需要更改cfform的action属性。