c# - 无法在 MVC C# 中从 www.domain.com 重定向到 domain.com
问题描述
我正在尝试在 ASP.NET MVC 5 中从网站从https://www.example.com重定向到https://example.com,但我无法做到这一点,在导航到时出现此错误https://www.example.com
HTTP Error 404. The requested resource is not found.
我尝试使用此处提供的解决方案
https://stackoverflow.com/a/3197446/3559462
https://stackoverflow.com/a/2178381/3559462
目前我的 Web.Config 有这个用于 url 重写的代码
<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>
什么不见了?它以前可以工作但现在不行,为什么我突然收到 404 以及如何将https://www.example.com 重定向到https://example.com而不会出现任何错误。
我是否需要在我的 GoDaddy 帐户中注册任何 DNS 设置?或者 C#/web.config 代码可以解决这个错误。
编辑:尝试使用 url https://example.com时,它可以工作,这是请求/响应标头图像
解决方案
我能够使用以下步骤解决此问题:
- 登录我的 GoDaddy DNS 管理页面并添加一个新的类型“A”记录,其中 Host 为“www”,To 为“网站的 IP 地址”,TTL = 1 小时。
- 添加新的 DNS 记录后,我使用远程桌面登录我的服务器并使用 IIS 管理器导航到我的网站(服务器-> 站点(展开它)-> 选择您的网站),单击“绑定”(在右侧面板内,在“编辑”下方)
然后添加新的绑定,其值为 Type : https , host-name : www.example.com , Port : 443 , IP Address : IP Address of website,
就是这样,按照上述步骤后,我的问题得到了解决,现在网站被重定向到https://example.com并带有 301 永久重定向
另请注意我已经在问题中放置的 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>
推荐阅读
- java - 如何在 jaxb 中为布尔字段设置 defaultValue
- python - 重复时仅显示 1 个元素
- vue.js - 如何去除对jquery的依赖
- django - 查询集中的条件
- java - 此错误消息是什么意思,我该如何解决这个问题?
- javascript - Javascript 动画在屏幕上移动
- c++ - 错误:未定义对“Burrito::Burrito()”的引用
- r - gganimate 不平滑动画
- android - 如何强制 android WiFi Direct 组所有者使用 2.4 GHz 而不是 5 GHz
- core-data - 特定 CKRecordZone 上的 NSPersistentCloudKitContainer