Forms 提交post时为404;直接调用时找到

Forms 提交post时为404;直接调用时找到,forms,http,coldfusion,Forms,Http,Coldfusion,我有一个启用ColdFusion的表单(用于验证)提交到单独的页面。提交此表单时,它会在操作页面上显示404,但当我直接将操作url加载到地址栏时,它会显示出来(出现错误,但没关系)。这是迄今为止我遇到的最奇怪的问题之一 表格页: 行动页面: 即使我尝试通过URL传递表单变量,它也会给我一个404。您的页面正在发布到页面contact\u action.cfm。。。在您的问题中,您指出正确的页面应该是“mailaction.cfm” 如果操作页面实际上是mailaction.cfm,那么您只需更

我有一个启用ColdFusion的表单(用于验证)提交到单独的页面。提交此表单时,它会在操作页面上显示404,但当我直接将操作url加载到地址栏时,它会显示出来(出现错误,但没关系)。这是迄今为止我遇到的最奇怪的问题之一

表格页:

行动页面:


即使我尝试通过URL传递表单变量,它也会给我一个404。

您的页面正在发布到页面contact\u action.cfm。。。在您的问题中,您指出正确的页面应该是“mailaction.cfm”


如果操作页面实际上是mailaction.cfm,那么您只需更改cfform的操作属性。

我的直觉是,当您提交数据并将其绑定到另一个Web服务器时,该机器上还有另一个服务试图接管请求……当然,它无法根据自己的webroot找到正确的页面


如果您单击,它将正常加载并返回200个标头,其中IIS作为服务器,但是如果您单击,它将抛出一个404,正如预期的那样,但是它使用自定义404进行了正确处理,标头响应仍然是IIS。但是,如果单击,它将返回ApacheSling默认值404和标题信息,说明服务器是“Day Servlet Engine/4.1.12”。

您以前在该web服务上发布数据时遇到过问题吗?也许他们不允许使用POST方法,并且没有返回正确的错误响应?请尝试将mailaction.cfm重命名为其他名称,并将其移动到其他目录,然后看看会发生什么。这可能是由于IIS设置在帖子发生时使该目录具有别名。@animuson,我没有。这是一个非常基本的、非定制的web服务器。@Benjamin,我确实重命名了它,但它仍然不能工作。现在我真的很困惑,因为你的想法是最合理的!您的表单页也无法使用附加的任何URL变量(GET)。只是好奇,你能在网站的任何页面上提交表格吗?这是一个.cfm页面吗?试试.html页面怎么样?(试图缩小apache和cf之间的范围)还请记住,在web服务器的某些配置上,它可能区分大小写。我将邮件操作源更改为指向contact_action.cfm,我得到了相同的404。哇,干得好。我们在同一个盒子上运行Adobe CQ5,Apache Sling应该忽略传递的url/表单变量,但当然不是。唉,我要把这些文件完全移出population\u health/文件夹和其他地方。当你点击OPs实际服务器时,调试这些东西就容易多了。很乐意帮忙!:-)