我正在考虑使用301重定向,在Google Analytics上注意到我的域名中的一些点击到.asp页面,这些页面已不再存在,已将所有内容移至.NET设置。
花了一些时间谷歌搜索,我已经能够将以下代码添加到我的web.config。
<location path="products.asp">
<system.webServer>
<httpRedirect enabled="true" destination="https://www.hartnollguitars.co.uk/products.aspx" httpResponseStatus="Permanent" />
</system.webServer>
</location>
这很好,可以移动从products.asp
到pproducts.aspx
的所有内容,但它不会保留查询字符串,这对任何意义都很重要,即products.aspx?id=789
答案 0 :(得分:8)
您必须将$Q
添加到目标网址以保留查询字符串。
所以在你的情况下它应该是这样的:
<location path="products.asp">
<system.webServer>
<httpRedirect enabled="true" destination="https://www.hartnollguitars.co.uk/products.aspx$Q" httpResponseStatus="Permanent" />
</system.webServer>
</location>
答案 1 :(得分:0)
如果您拥有IIS 7或更高版本,则可以使用更强大的URL重写解决方案。使用URL Rewrite Module 2.0,您可以创建可以包含原始查询字符串的丰富重定向。在guide on IIS.net之后,您可以在屏幕截图中看到“附加查询字符串”选项。
您还可以选择使用服务器变量{QUERY_STRING}。最后,如果您在规则模式中使用带有组的正则表达式,则可以使用变量{R:#},如屏幕截图所示。