我们为客户建立了一个网站,用于宣传他们新建的公寓楼。这些公寓现已全部售出,因此我们被要求将域名转发到另一个域名,直到将来有用途为止。
我们尝试在服务器上设置 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>