为什么某些页面上不存在HttpHeader X-Original-URL?

时间:2014-09-20 14:57:12

标签: coldfusion url-rewriting iis-7.5

我的网站使用网址重写来制作SEO友好的网址。这使得自我发布表单回到同一页面有点棘手。

但是在ColdFusion中,我为表单的action属性执行此操作:

<form name="formSortBy" method="post" enctype="multipart/form-data" action="#StructFind(GetHttpRequestData().headers, 'X-Original-URL')#">

</form>

这里的重要部分是#StructFind(GetHttpRequestData().headers, 'X-Original-URL')#,它会获取页面的网址。

但是X-Original-URL键在某些页面上不存在,所以我从ColdFusion中收到错误说:

Cannot find X-Original-URL key in structure.
The specified key, X-Original-URL, does not exist in the structure. 

当我点击进入我所在部分的主页时,会发生这种情况。 如果我转到X-Original-URLhttp://www.sitename.com/products/gaming就会存在,但如果我只去http://www.sitename.com/products那就不存在

无论如何都要解决这个问题或让它像我需要的那样工作?

1 个答案:

答案 0 :(得分:6)

您的重写规则与CF之间存在问题。

但是,有一个简单的解决方法 - 只需不指定action属性,您就可以将表单发布到自身。