【问题标题】:Default Document not appending query string properly默认文档未正确附加查询字符串
【发布时间】:2021-08-14 00:28:40
【问题描述】:

我希望能够在默认文档上附加查询字符串并使用查询字符串重定向(追加)。

www.example.com/?test=1 [失败]

它把我带到一个找不到的 404 页面。现在的问题是所有其他页面都会附加查询字符串:

www.example.com/about?text=1[工作]

如何在默认文档上附加查询字符串?

我能够部分修复 fb 的查询字符串:

<rule name="fb Query String" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll" trackAllCaptures="false">
    <add input="{QUERY_STRING}" pattern="^fbclid=" />
</conditions>
<action type="Redirect" url="http://www.example.com/{R:0}" appendQueryString="false" redirectType="Found" />

应用此规则时将重定向:

www.example.com/?fbclid=IwAR3FhQ23wiLYsMUl5Mk-CYo_X74nw4-0MVPCpTt20V_KoVtizkOtBGP7TIg

www.example.com

当我设置 appendQueryString="true" 时,我得到 ERR_TOO_MANY_REDIRECTS 并且我还想只匹配默认文档页面而不是所有 URL,如上面的规则所述:&lt;match url="(.*)" /&gt; 我匹配 home.aspx 还是匹配 . com 因为它是默认文档?

【问题讨论】:

  • 我认为 web.config 中的 URL 重写规则可以解决问题,或者也可以尝试将 global.ascx 与 LINQ 或 stringbuilder 一起使用。
  • 听起来不错。随意分享您的尝试。
  • 会的。我只是想先弄清楚这一点。
  • docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/… 你明确写了一条规则,如果appendQueryString="true" 无限重定向,FRT 可以清楚地证明这一点。你到底想做什么?

标签: c# asp.net regex iis iis-7


【解决方案1】:

根据您的描述,您似乎已经实现了重定向网址

来自 www.example.com/anytext/anytext?fbclid=1www.example.com/?fbclid=1

但重定向规则也适用于包含更多路径的其他 url,例如www.example.com/about。所以你尝试了上面提供的重定向规则fb Query String

在我看来,您只需将{R:0} 更改为{QUERY_STRING} 并仍然将appendQueryString 设置为false,如下所示:

<rewrite>
  <rules>
    <rule name="rule1" stopProcessing="true">
      <match url="(.*)" />
      <conditions logicalGrouping="MatchAll">
        <add input="{QUERY_STRING}" pattern="^fbclid=" />
      </conditions>
      <action type="Redirect" url="http://www.example.com/{QUERY_STRING}" appendQueryString="false" redirectType="Found" />
    </rule>
  </rules>
</rewrite>

然后它可以实现您的要求。

如果我误解了您的要求,请告诉我。

【讨论】:

  • 感谢您的帮助。经过进一步调查,我发现(对我而言)该问题源于 gloabl.ascx.cs 上的 404 页面。感谢@Hury Shen 的回答。我不是最擅长 IIS 规则的,所以再次感谢。我做了测试,它成功了!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-06-16
  • 2021-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-27
  • 1970-01-01
相关资源
最近更新 更多