【问题标题】:Why does HttpHeader X-Original-URL not exist on some pages?为什么某些页面上不存在 HttpHeader X-Original-URL?
【发布时间】:2014-11-15 00:00:07
【问题描述】:

我的网站使用 URL Rewrite 来制作 SEO 友好的 URL。这使得将表单返回到同一页面有点棘手。

但在 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')#,它可以让我获得页面的 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. 

当我点击转到我所在部分的主页时,就会发生这种情况。 所以如果我去http://www.sitename.com/products/gamingX-Original-URL 存在,但如果我去http://www.sitename.com/products,它就不会存在

有没有办法解决这个问题或让它像我需要的那样工作?

【问题讨论】:

    标签: coldfusion url-rewriting iis-7.5


    【解决方案1】:

    听起来您的重写规则和 CF 之间存在问题。

    但是,有一个简单的解决方法 - 您可以通过简单地不指定 action 属性来让表单发布给自己。

    【讨论】:

    • 感谢您的建议。使用不带任何属性的 &lt;cfform&gt; 标签而不是常规 HTML &lt;form&gt; 标签会更好吗?
    • 没有。永远不要使用cfform。永远。你从它的使用中得不到任何好处,它最终会妨碍你。
    猜你喜欢
    • 2021-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-11
    • 2021-09-28
    • 1970-01-01
    • 2021-11-23
    • 2012-09-26
    相关资源
    最近更新 更多