【问题标题】:Query string getting changed查询字符串被改变
【发布时间】:2013-01-24 15:21:46
【问题描述】:

我们使用第三方服务在电子邮件中返回 URL,例如:

http://www.domain.co.uk/retrieve-quote.aspx?cid=tela04NrLRCEB4YSJaHNnrmMgfzhKGWDQMNWU9gA4LoIZ4xkAdjDj9NQxK9NokSj&pid=hzRtwgPKiGFXnqVI78upf3QmpexmqtkJ0sYPtE0Tam8%3d

当您点击链接并跳转到网站上的页面(基于 Umbraco 4.9 构建)时,地址栏中的 URL 现在是:

https://www.domain.co.uk/retrieve-quote.aspx?cid=tela04nrlrceb4ysjahnnrmmgfzhkgwdqmnwu9ga4loiz4xkadjdj9nqxk9noksj&pid=hzrtwgpkigfxnqvi78upf3qmpexmqtkj0sypte0tam8=

我不确定这是 Umbraco 问题还是 IIS 问题,但查询字符串现在是小写的,并且最后 3 位数字已更改。

我们唯一的重写是目录 URL 在配置中设置为 true,我们将一些旧 URL 重定向到新 URL,但这个 URL 保持不变。

【问题讨论】:

    标签: asp.net iis rewrite query-string umbraco


    【解决方案1】:

    查询字符串正在更改,因为它是 url 编码的,第一个 URL 末尾的 %3d 是等号的代码

    http://www.w3schools.com/tags/ref_urlencode.asp

    【讨论】:

    • 只是为了检查,为什么字符串中的另一个等号没有编码? id=hz
    • 谢谢基思,这让我更接近答案。将 %3d 更改为 = 不是问题,更多的是 Umbraco 将查询字符串更改为导致问题的小写。如果查询字符串的格式正确,最后有 = 仍然有效。现在来看看如何防止 Umbraco 把它变成小写!!
    【解决方案2】:

    最终发现问题是在 Umbraco 之后安装的一些 3rd 方 URL 重写代码。这将所有 URL 更改为小写而不是 Umbraco。我们已经让第 3 方更改他们的代码,现在一切正常。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-22
      • 2017-04-13
      • 2018-10-15
      相关资源
      最近更新 更多