IIS 6 Http to Https Redirect
Yes, why on earth would you still be using a server which can only support IIS6?! But somethings in this world cannot be pushed into the future fast enough, in the case of our organisation there are quite a few Windows 2003 servers which are still in use, which is shocking.
So what do I need to do to get a redirect in place?
Create a blank file called HttpRedirect.htm in the directory root of your website, copy in the below code.
<!-- beginning of HttpRedirect.htm file --> <script type="text/javascript"> function redirectToHttps() { var httpsPort = ":4443" <!-- Add +httpsPort after the window.location.hostname if the standard https port is not 443 --> var httpURL = window.location.hostname+window.location.pathname; var httpsURL = "https://" + httpURL ; window.location = httpsURL ; } redirectToHttps(); </script> <!-- end of HttpRedirect.htm file -->
Set the 403.4 error page to use this file instead of the regular error file. Do this in IIS6, right click and select ‘Properties‘ on your website, click on ‘Custom Errors‘ tab, find 403.4 in the list click ‘Edit‘ and ‘Browse‘ point it at the file which you created above.
Select the ‘Directory Security‘ tab, select ‘Edit’ in the Secure Communications section
Check on the ‘Require secure channel (SSL)‘ option. (This will only allow pages on this site to be viewed only with Https.)
Now browse to a URL on this website and your be redirect from http to https.