重定向 HTTPS

重定向 HTTPS

我们为客户建立了一个网站,用于宣传他们新建的公寓楼。这些公寓现已全部售出,因此我们被要求将域名转发到另一个域名,直到将来有用途为止。

我们尝试在服务器上设置 301 重定向来实现这一点 - 这对于 HTTP 请求(无论是否带有 WWW)都很有效,但 HTTPS 请求会失败。有人能给我们提供一些建议吗?

以下是我们尝试过的 2 个 Web 配置文件:

网络配置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>

网络配置 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>

答案1

您的两个配置都直接在 index.html 文件上应用了 HTTP 重定向。这实际上导致重定向仅在有人直接转到http://yoursite.co.uk/index.html或者https://yoursite.co.uk/index.html

在您的根 web.config 中尝试执行以下操作并取出您拥有的 IIS URL 重写规则。

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

相关内容