We built a site for a client to advertise a new block of apartments they had built. The apartments have now all been sold so we have been asked to forward the domain to another domain until there is a future use for it.

We have tried to do this by setting up a 301 redirect on our server - this works great for HTTP requests (both with and without WWW) but HTTPS requests fail. Can anyone offer us any tips?

here are the 2 web config files we have tried:

WEB CONFIG 1:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>

 <rewrite>
  <rules>
    <rule name="Redirect to http" stopProcessing="true">
    <match url="(.*)" />
    <conditions>
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
        <add input="{REQUEST_URI}" pattern="(/\w*[/ | \w]+\.aspx)" />
    </conditions>
    <action type="Redirect" url="http://{HTTP_HOST}{REQUEST_URI}" redirectType="Permanent" appendQueryString="false" />
    </rule>

  </rules>
</rewrite>

<location path="index.html">
    <system.webServer>
        <httpRedirect destination="https://WEBFORWARDINGDOMAIN.co.uk/" />
    </system.webServer>
</location>

WEB CONFIG 2

<?xml version="1.0" encoding="UTF-8"?>
 <configuration>
   <location path="index.html">
    <system.webServer>
        <httpRedirect enabled="true" destination="https://WEBFORWARDINGDOMAIN.co.uk/" childOnly="true" httpResponseStatus="Permanent" />
    </system.webServer>
  </location>
 </configuration>

Solution 1:

Both of your configurations are applying the HTTP Redirect on the index.html file directly. This effectively causes the redirect to only happen if someone goes directly to http://yoursite.co.uk/index.html or https://yoursite.co.uk/index.html.

Try the following in your root web.config and take out the IIS URL Rewrite rule that you have.

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
    <system.webServer>
        <httpRedirect enabled="true" destination="https://WEBFORWARDINGDOMAIN.co.uk/" />
    </system.webServer>
</configuration>