无法在MVC C#中从www.domain.com重定向到domain.com

时间:2018-11-13 08:59:46

标签: c# asp.net-mvc web-config

我正在尝试从ASP.NET MVC 5中的网站从https://www.example.com重定向到https://example.com,但是我无法做到这一点,在导航到{{3 }}

<rule name="Redirect everything to https://example.com" patternSyntax="Wildcard" stopProcessing="true">
      <match url="*" />
      <conditions logicalGrouping="MatchAny">
        <add input="{HTTP_HOST}" pattern="example.com" negate="true" />
        <add input="{HTTPS}" pattern="off" ignoreCase="true" />
      </conditions>
      <action type="Redirect" url="https://example.com/{R:0}" />
    </rule>

我尝试使用此处提供的解决方案

https://www.example.com

https://stackoverflow.com/a/3197446/3559462

当前,我的Web.Config包含以下代码以用于url重写

{{1}}

缺少什么?它以前曾经起作用,但现在却不起作用,为什么我突然得到404以及如何将https://stackoverflow.com/a/2178381/3559462重定向到https://www.example.com而又没有任何错误。

我需要在GoDaddy帐户中注册任何DNS设置吗?或C#/ web.config代码可以解决此错误。

编辑:当尝试使用网址https://example.com时,此方法有效,这是请求/响应标头图片

https://example.com

1 个答案:

答案 0 :(得分:0)

我能够使用以下步骤解决此问题:

  1. 登录到我的GoDaddy DNS管理页面,并添加一个新的“ A”类型记录,其中主机为“ www”,收件人为“网站IP地址”,TTL = 1小时。
  2. 添加新的DNS记录后,我使用远程桌面登录服务器,并使用IIS管理器(服务器->站点(展开它)->选择您的网站)导航到我的网站,单击“绑定”(在右手边)侧面板,在“编辑”下方)

然后添加新绑定,其值为 类型:https, 主机名:www.example.com, 港口:443, IP地址:网站的IP地址,

就是这样,按照上述步骤操作后,我的问题已解决,现在网站已通过301永久重定向重定向到https://example.com

还请注意Web.Config设置(执行从www重定向到非www网站的设置),该设置我已经在问题中提出了,在这里再次出现

<rule name="Redirect everything to https://example.com" patternSyntax="Wildcard" stopProcessing="true">
  <match url="*" />
  <conditions logicalGrouping="MatchAny">
    <add input="{HTTP_HOST}" pattern="example.com" negate="true" />
    <add input="{HTTPS}" pattern="off" ignoreCase="true" />
  </conditions>
  <action type="Redirect" url="https://example.com/{R:0}" />
</rule>