【问题标题】:IIS URl Rewrite/Redirect - Why is a second question mark being added into into my redirect url?IIS URl 重写/重定向 - 为什么在我的重定向 url 中添加了第二个问号?
【发布时间】:2022-02-05 05:01:53
【问题描述】:

我正在尝试重定向到具有多个参数的 URL。当页面被重定向到新的 URL 时,它会失败,因为我的 url 的查询字符串中添加了一个不应该存在的问号。

Search/SearchPage.aspx?search=(.*) 上的原始 URL 匹配

结尾部分只是一个数字。然后我在我的重定向 URL 中使用该数字,如下所示:

Login.aspx?query=true&doctypegroupid=105&KT158_0_0_0={R:1} 

({R:1} 是原始 URL 中的数字,例如 29987)。我不附加查询字符串,重定向是永久的。

当我单击原始 URL 时,它会重定向,但会出现页面错误。我确定这是因为重定向 URL 添加了一个额外的问号,如下所示:

Login.aspx?query=true&doctypegroupid=?105&KT158_0_0_0=29987

我不明白为什么要在 URL 中添加这个额外的问号。这发生在多个浏览器中。我这样做的方式有问题吗?我怎样才能防止或至少忽略这个额外的问号?

即使我对 URL 进行硬编码,也会添加问号。因此,如果我将以下内容设置为重定向 URL,然后单击原始 URL,我将被重定向到以下链接,但在第二个等号后有一个额外的问号。

Login.aspx?query=true&doctypegroupid=105&KT158_0_0_0=6278

【问题讨论】:

    标签: regex string iis url-rewriting url-rewrite-module


    【解决方案1】:

    我解决了。我必须将匹配的 URL 从 Search/SearchPage.aspx?search=(.) 更改为 SearchPage.aspx(.)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-11
      • 2016-06-06
      • 2014-01-02
      • 2016-10-10
      • 2021-06-23
      • 1970-01-01
      • 1970-01-01
      • 2021-03-25
      相关资源
      最近更新 更多