【发布时间】:2017-07-27 14:30:16
【问题描述】:
我已经搜索了很多 S.O.问题和答案,但还没有看到一个好的解决方案。我已经在我的 web.config 文件中创建并完善了 SEO URL。我使用 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>
现在要求的是添加 Google Analytics(分析)参数以跟踪广告系列。如果我只是简单地添加参数,它当然会给我一个 404 错误。我现在正试图让这些 SEO URL 获取这些参数,但非常沮丧。
如果我删除查询字符串,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
【问题讨论】:
-
你能以相反的顺序为我提供这个解决方案吗?我的服务器阻止了具有 utm_mediam 和 utm_source 参数的 url
标签: asp.net google-analytics url-rewriting web-config