谷歌分析的网址重写
问题描述:
我已经搜遍了很多S.O.问题和答案,但还没有看到一个好的解决方案。我已经在我的web.config文件中创建并建立了良好的SEO网址。我使用的是rewriteMap,基本上可以将我的产品页面转换为我需要的任何URL。谷歌分析的网址重写
这是我必须这样做:
<rule name="Redirect Rule" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{RedirectMapName:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Redirect" url="{C:1}" appendQueryString="false" redirectType="Permanent" />
</rule>
<rule name="Rewrite Rule" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{RewriteMapName:{REQUEST_URI}}" pattern="(.+)" />
</conditions>
<action type="Rewrite" url="{C:1}" />
</rule>
正在请求什么现在是在谷歌Analytics(分析)参数添加,以跟踪活动。如果我只是添加参数,它当然会给我一个404错误。我现在试图让这些SEO网址来获取这些参数,但变得非常沮丧。
如果我删除查询字符串,Google Analytics将无法将其提取出来,因为它是客户端脚本。像这样的东西可能会很接近,但我没有指向任何特定的页面。 URL Rewrite with Query String
这是我如何去除查询字符串:
<rule name="Subject redirect with query" stopProcessing="true">
<match url="^(.*)" />
<conditions trackAllCaptures="true">
<add input="{QUERY_STRING}" pattern="^utm_source=([^=&]+)&utm_medium=([^=&]+)&utm_campaign=([^=&]+)&?(.*)$" />
</conditions>
<action type="Redirect" url="{R:1}" appendQueryString="false" redirectType="Permanent" />
</rule>
总结出来的,我怎么把这个:
https://www.example.com/fancy-url
这个
https://www.example.com/fancy-url?utm_source=Targeted_Email&utm_medium=email&utm_campaign=campaigntag
答
太多的无奈之后,我能够弄清楚这一点。查询字符串没问题,但其中一项设置阻止了其他规则的处理。在规则名称后,我停止了处理设置为true。当我在IIS中查看它时,设置更具描述性。它说“停止处理后续规则”。一旦我将其移除并将其移至其他规则的上方,则完美无缺。
<rule name="Google Query string">
<match url="(.*)$" />
<conditions>
<add input="{QUERY_STRING}" pattern="utm_source=([^=&]+)&utm_medium=([^=&]+)&utm_campaign=([^=&]+)&?(.*)$" />
</conditions>
<action type="Rewrite" url="{R:0}" appendQueryString="false" />
</rule>