Iis

重定向 HTTPS

  • February 1, 2021

我們為客戶建立了一個網站,為他們建造的新公寓區做廣告。公寓現已全部售出,因此我們被要求將域轉發到另一個域,直到它有未來用途。

我們試圖通過在我們的伺服器上設置 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>

您的兩種配置都直接在 index.html 文件上應用 HTTP 重定向。這有效地導致重定向僅在有人直接訪問http://yoursite.co.uk/index.html>或<https://yoursite.co.uk/index.html時發生。

在您的根 web.config 中嘗試以下操作並取出您擁有的 IIS URL 重寫規則。

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

引用自:https://serverfault.com/questions/949381