【问题标题】:HTTP redirecting to HTTPS automatically in ASP.NET MVCHTTP 在 ASP.NET MVC 中自动重定向到 HTTPS
【发布时间】:2016-07-23 10:23:26
【问题描述】:

我在 localhost 中运行我的应用程序时遇到问题,我在 web.config 中添加了重写规则以将我的所有 http 站点重定向到 https,因为我添加了 ssl 证书,但那是针对在线版本的。在本地主机中,我在 web.config 中注释掉了我的重写规则,但它仍然将我的 http://localhost 重定向到 https://localhost,因为我的网站没有在本地运行并且我无法工作。

任何帮助将不胜感激。

【问题讨论】:

  • 您是否尝试过清洁您的解决方案?
  • 请注意,model-view-controller 标签是针对有关模式的问题。 ASP.NET-MVC 实现有一个特定的标记。
  • RatHat,是的,我做了,但没用
  • 如果您使用 IIS Express 在本地运行,它可能正在缓存原始 web.config;一种确定的方法是将语法错误放入 web.config 并运行应用程序...如果您没有收到错误,则问题在于 IIS Express 缓存。您还可以将应用程序发布到本地 IIS 并检查 web.config 以确保您确实已将其注释掉:)
  • @StephenByrne 我试过了,但 web.config 中没有错误,但是我通过为我的 localhost 分配不同的端口号来修复它,它运行良好。 :)

标签: c# asp.net-mvc https localhost


【解决方案1】:

我通过命中和试用的方法解决了这个问题,但它对我来说非常有效。我所做的是我更改了端口号,例如它是 http://localhost:5722 之前我只是将端口号更改为 http://localhost:5729 并且它开始工作:)

【讨论】:

  • 这个问题是针对 chrome 还是针对所有浏览器的?
【解决方案2】:

浏览器将 301 放入缓存: 如果您使用“301 Moved Permanently”,您的浏览器(如 Chrome 和 Firefox)会放入缓存中且没有到期日期,http://localhost 需要重定向到 https://localhost

要强制浏览器重新获取,您可以:

  • 打开你的开发工具,勾选禁用缓存;
  • 清除您的浏览历史记录 缓存;

从服务器控制缓存:如果你想从服务器控制301缓存,你可以使用Cache-ControlExpireshttp头。

要取消服务器上的 301: 如果您想在您的网站上撤消 301,只需再执行一次 301 以再次重定向回来:您的浏览器将重新获取旧的缓存 url 以确认旧的重定向不存在了。

更改重定向类型:您可以使用 302 或 307 http 重定向(无缓存)但它不是 the best SEO practice...

【讨论】:

    【解决方案3】:

    尝试重建项目,并确保您在 web.config 中像以下示例一样注释:

    <!-- some text -->
    

    希望对你有帮助

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-02-12
      • 2012-10-18
      • 2011-09-28
      • 2019-05-15
      • 1970-01-01
      • 2013-03-20
      • 2018-03-07
      • 1970-01-01
      相关资源
      最近更新 更多