IIS重写规则不传递参数

时间:2021-02-05 16:54:14

标签: redirect iis url-parameters

我目前设置了使用重写映射从 oldsite.com 到 newsite.com 的重定向。它们工作,除非通过 URL 传递参数,例如。 http://oldsite.com?utm_source=go.wayne.edu&utm_medium=direct&utm_campaign=quick-access&utm_content=,仍然转到旧页面,而不是使用参数重定向到新页面,例如。 http://newsite.com?utm_source=go.wayne.edu&utm_medium=direct&utm_campaign=quick-access&utm_content=

这是我的代码:

            <rule name="Redirects to New Site">
                    <match url="(.*)" />
                    <conditions trackAllCaptures="true">
                        <add input="{RelaunchRedirects:{REQUEST_URI}}" pattern="(.+)" />
                    </conditions>
                    <action type="Redirect" url="http://newsite.com/{C:0}" appendQueryString="true" redirectType="Permanent" />
            </rule>

对所有这些仍然很陌生,我无法弄清楚为什么参数没有通过。我在这里看到了一些类似的案例,但无法让这些解决方案对我有用。

关于我可以做些什么来完成这项工作的任何想法?

1 个答案:

答案 0 :(得分:0)

你可以尝试使用这个 URL Rewrite 规则:

       <rewrite>
            <rules>
                 <rule name="Redirects to New Site" stopProcessing="true">
                    <match url="(.*)" />
                    <conditions trackAllCaptures="true">
                    </conditions>
                    <action type="Redirect" url="http://newsite.com{URL}" appendQueryString="true" redirectType="Permanent" />
            </rule>
            </rules>
        </rewrite>

enter image description here

如果有任何问题,请随时告诉我。

相关问题