I'm looking into using 301 redirects having noticed a bunch of hits on my domain on Google Analytics to .asp pages which not longer exist having moved everything over to a .NET setup.
Having spent a bit of time Googling, I have been able to add the following code to my web.config.
<location path="products.asp">
<system.webServer>
<httpRedirect enabled="true" destination="https://www.hartnollguitars.co.uk/products.aspx" httpResponseStatus="Permanent" />
</system.webServer>
</location>
This is fine and moves everything from products.asp
to pproducts.aspx
but it does not preserve the querystring, which is essential to make any sense, ie products.aspx?id=789
You have to add $Q
to the destination url to preserve the querystring. So in your case it should look like this:
<location path="products.asp">
<system.webServer>
<httpRedirect enabled="true" destination="https://www.hartnollguitars.co.uk/products.aspx$Q" httpResponseStatus="Permanent" />
</system.webServer>
</location>
If you have IIS 7 or greater, there is a far more robust solution to URL rewrites. Using the URL Rewrite Module 2.0 , you can create rich redirects that can include the original query string. Following this guide on IIS.net , you can see in the screenshot the "Append query string" option.
You also have the option of using the server variable {QUERY_STRING}. Finally, if you used a Regex with groups in your rule's pattern, you can use the variables {R:#} as shown in the screenshot as well.
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.