If anyone’s ever tried to move domain, you’ll know its a pain. One way to make things a little easier is to provide an automatic 301 redirect from your old domain to your new one – this marks the new destination as a permanent change, and will generally be picked up by search engines.
IIS provides an easy way to do this – but it’s not immediately obvious how to get it to forward querystrings too – for instance, if you wanted to forward developerfusion.com/show.aspx?id=20 to developerfusion.co.uk/show.aspx?id=20. Here’s now! (This works in both IIS 5 and IIS 6)
- Go into the IIS site properties for the domain you’re moving from. In the “Home Directory” tab, click the option “A redirection to a URL”.
- In the Redirect to box, enter the domain you wish to move to (no trailing slash), plus $S$Q – for example, http://www.developerfusion.com$S$Q
- Next, check the options that state the client will be sent to “The exact URL entered above”, and “A permanent redirection for this resource”
And that’s it! Now, what does this $S$Q do? These are basically tags that IIS will automatically replace – $S will be replaced with the subdirectory location (such as /images/show.aspx) and $Q will be replaced with the querystring (such as ?id=30).
You might be wondering why we can’t just use $Q, and then turn off “The exact URL entered above” – but in this situation,you get your domain name,then the query string, and *then* the subdirectory location – which probably isn’t what you wanted! For more information, check out this.