gpt4 book ai didi

url - IIS URL 重写不适用于查询字符串

转载 作者:行者123 更新时间:2023-12-03 00:43:54 24 4
gpt4 key购买 nike

我认为这非常简单,但它不起作用。旧网址是

http://www.site.com/?q=node/17

需要重定向到http://www.site.com 。我不需要担心通配符,这是我需要担心的唯一查询字符串参数。我写的规则看起来像

<rule name="Node17" patternSyntax="ExactMatch" stopProcessing="true">
<match url="http://www.site.com/?q=node/17" />
<action type="Redirect" url="http://www.site.com" appendQueryString="False" />
</rule>

我可以测试 IIS 内部的模式并且它匹配,但是当我在浏览器中点击 URL 时,它不会重定向。有什么想法吗?

最佳答案

Microsoft's documentation 中所述:

It is important to understand how certain parts of the URL string can be accessed from a rewrite rule.

For an HTTP URL in this form: http(s)://{host}:{port}/{path}?{querystring}

The {path} is matched against the pattern of the rule. The {querystring} is available in the server variable called QUERY_STRING and can be accessed by using a condition within a rule.

Rule conditions allow defining additional logic for rule evaluation... Rule conditions are evaluated after the rule pattern match is successful.

在您想要重写为重定向的网址中,您的 {host} = "www.site.com"{path} = ""{querystring} =“q=node/17”。因此,您想要重定向的 URL 中的 {path} 部分实际上是空的,您在问题中使用的规则与其匹配,但不匹配。

您的解决方案确实有效,所以我在这里引用它:

<rule name="Node17" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{QUERY_STRING}" pattern="q=node/17" />
</conditions>
<action type="Redirect" url="http://www.example.com" appendQueryString="False" />
</rule>

关于url - IIS URL 重写不适用于查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19165676/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com