URL重定向的web.config
问题描述:
我有以下URLURL重定向的web.config
其中有额外的?最后。我想删除并替换为“&”
我正在使用以下规则,但它不工作。你能回顾一下并告诉我我做错了什么吗?
<rewrite>
<rules>
<rule name="fixdata" stopProcessing="true">
<match url="\?(.*)\?(.*)$" ignoreCase="false" />
<action type="Redirect" redirectType="Permanent" url="http://www.example.com/{R:1}&{R:2}" />
</rule>
</rules>
</rewrite>
谢谢。
答
您的规则应该是这样的:
<rule name="fixdata" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{QUERY_STRING}" pattern="(.*)\?utm_source(.*)$" />
</conditions>
<action type="Redirect" url="{R:0}?{C:1}&utm_source{C:2}" appendQueryString="False" />
</rule>
你的规则没有工作,因为<match url=
包含路径,而不查询字符串。你需要创建附加条件来匹配查询字符串与您的正则表达式模式
感谢您的。这是工作。我面临的唯一问题是它也取代?在数据变量值中。我只是想要它取代?在utm_source之前。我希望这是有道理的。如果你需要更多的澄清,请让我知道,我会写得更好。 –
您能否提供结果URL示例 –
这里是输入URL“http:// example /?data = a6fhD87ktNK7PxlGtDW1ge5BgE%0AK8hXp ?? ge%?utm_source = XX%20AXX&utm_campaign = XX%20XX&utm_medium = XX.com&utm_content = MMB”,这里是输出“http:// example /?data = a6fhD87ktNK7PxlGtDW1ge5BgE%0AK8hXp && ge%&utm_source = XX%20AXX&utm_campaign = XX%20XX&utm_medium = XX.com&utm_content = MMB”您将在输入中添加额外的?在数据=值的末尾标记。他们被转换为&&。我希望这有帮助。 –