【问题标题】:www.example.com does not work, but example.com doeswww.example.com 不起作用,但 example.com 可以
【发布时间】:2011-01-16 06:06:17
【问题描述】:

这个问题也可以发布在 ServerFault 上,但是由于我的 web.config 中的重写规则,肯定会涉及到一个编码元素。这就是为什么这个问题确实在 SO 上有一个家。

我最近在新服务器上部署了一个网站,并发现尝试通过 www.example.com 访问我的网站会返回 404,而 example.com 工作正常。我不确定这是 IIS 配置问题还是我在 web.config 中指定的重写规则。

我没有在没有以下规则的情况下重新部署该站点,以查看它们是否确实是问题所在。当网站由 DiscountASP.NET 托管时,这些规则运行良好。

<rewrite>
  <rules>
    <rule name="Redirect to NON-WWW" stopProcessing="true">
      <match url=".*"/>
      <conditions>
        <add input="{HTTP_HOST}" pattern="^www.rsolberg.com$"/>
      </conditions>
      <action type="Redirect" url="http://rsolberg.com/{R:0}" redirectType="Permanent"/>
    </rule>
    <rule name="Default Document" stopProcessing="true">
      <match url="(.*)default.aspx"/>
      <action type="Redirect" url="{R:1}" redirectType="Permanent"/>
    </rule>
  </rules>
</rewrite>

我还向 GoDaddy 确认了指向 @ 的 WWW cname

工作:
http://rsolberg.com

不工作:
http://www.rsolberg.com

【问题讨论】:

  • 您的服务器是否在监听www.rsolberg.com?如果没有,那么您的重定向将永远不会发生,因为服务器将永远不会看到对 www. 的请求
  • @Seth:我猜我输入了rsolberg.com 没有www....

标签: asp.net-mvc iis url-rewriting


【解决方案1】:

我之前已经解决了这个问题,只是删除了之前的CNAME。并尝试添加一个新的,如下所示

www.rsolberg.com CNAME --> rsolberg.com

  • Ananth Ramasamy Meenachi www.msarm.com

【讨论】:

  • 您不需要在回复中包含您的姓名和网站 - 这就是您的个人资料的用途。
【解决方案2】:

我会确认 IIS 已为您的站点列出了两个主机标头(rsolberg.com 和 www.rsolbeg.com)。如果没有 www 版本,请求将发送到正确的 Web 服务器,但 IIS 不会为正确的站点提供服务,并且可能会返回通用 404。我认为根本不涉及重定向/重写,因为没有发送 301/302。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-16
    • 1970-01-01
    • 2014-03-04
    • 1970-01-01
    • 2014-09-28
    • 2021-04-25
    • 2020-07-29
    相关资源
    最近更新 更多