iis-7 - IIS7 URL 将多个域重写为单个域,包括谷歌分析推荐代码

标签 iis-7 url-rewriting web-config google-analytics

我试图优雅地捕获大量需要重定向到单个域的域,例如:

mydomain.com, www.mydomain.com, mydomain-eu.com, mydomain.eu

all to the main domain:

www.mydomain.co.uk



通过创建站点,我可以在 IIS 中相当轻松地做到这一点 - 绑定(bind)所有域并进行重定向。

但是有一个问题。客户希望在谷歌分析中跟踪这些重定向的来源。

所以他们需要在重定向 URL 中传递一些参数,例如(使用上面的域):

mydomain.eu redirects to: www.mydomain.co.uk?utm_campaign=mydomain.eu&utm_source=mydomain.eu&utm_medium=referral



所以 - 这是使用 URL 重写的好例子。这就是我在 web.config 中的内容:
   <rule name="Redirect" enabled="false" patternSyntax="Wildcard" stopProcessing="true">
            <match url="(.*)" />
            <conditions>
                <add input="{HTTP_HOST}" pattern="^www.mydomain.co.uk$" negate="true" />
            </conditions>
            <action type="Redirect" url="http://www.mydomain.co.uk/?utm_campaign={R:0}&amp;utm_source={R:0}&amp;utm_medium=referral" />
        </rule>

如果输入与我想要的域不匹配,我将重定向它。

除了一件事之外,它还可以完美地工作。我只是无法获取原始域的参数。 {R:0} 返回空白。我也试过 {C:0} 。我已经测试了 GUI 中的模式,他们告诉我应该得到请求的域。

我究竟做错了什么?谢谢。

最佳答案

这是一个猜测,但又如何:

<rule name="Redirect" enabled="false" patternSyntax="Wildcard" stopProcessing="true">
        <match url="(.*)" />
        <conditions>
            <add input="{HTTP_HOST}" pattern="^www.mydomain.co.uk$" negate="true" />
        </conditions>
        <action type="Redirect" url="http://www.mydomain.co.uk/?utm_campaign={HTTP_HOST}&amp;utm_source={HTTP_HOST}&amp;utm_medium=referral" />
</rule>

查了一下,它说您可以在本文档中以这种方式使用它:
  • http://www.iis.net/learn/extensions/url-rewrite-module/url-rewrite-module-configuration-reference#UsingServerVars
  • 关于iis-7 - IIS7 URL 将多个域重写为单个域,包括谷歌分析推荐代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17787007/

    相关文章:

    .htaccess - 别名和 mod_rewrite

    web-config - ASP.NET Core 2 中的 web.config

    azure - 无需 Web.Config 即可更改 Azure 上接受的 MIME 类型

    iis - 如何从 PowerShell 指定应用程序池身份用户和密码

    iis-7 - IIS 7 的 URL 重写模块

    iis-7 - IIS7 中没有可用的基本身份验证选项

    http - IIS 中特定资源的自定义 http 状态代码

    php - URL_TITLE() 代码点火器

    javascript - 使用 jquery 更改 URL 参数或删除 URL 的某些部分

    visual-studio - VS2010 Clean Web.configs - 不更新