修复301条重定向规则不被视为没有找到IIS8.5 ASP.NET
试图访问域像https://www.example.com
当我得到404我得到404修复301条重定向规则不被视为没有找到IIS8.5 ASP.NET
我有以下重写规则:
<rules>
<rule name="Redirect-HTTP-HTTPS-IIS">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" ignoreCase="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="Permanent" />
</rule>
<rule name="CanonicalHostNameRule1">
<match url="(.*)"/>
<conditions>
<add input="{HTTP_HOST}" pattern="^example\.com$" negate="true"/>
</conditions>
<action type="Redirect" url="https://example.com/{R:1}"/>
</rule>
</rules>
访问https://www.example.com
将最终到达https://example.com
。我的问题是,有些服务像谷歌网站管理员工具验证无法验证网站,因为页面没有找到,尽管最后它重定向到https://example.com
。
http://example.com
确实显示301重定向到https://example.com
。只有当我添加www时,它不会显示301重定向,尽管服务器最终将其重定向到正确的位置。
如何更改我需要使访问https://www.example.com
的写入规则将被识别为301重定向到https://example.com
。我认为,由于多个规则的页面发送没有找到。
也许有一种方法可以将它编写为包含两个规则的重定向301的单个规则,因此它将使用HTTP或/和WWW将URL重定向到具有HTTPS和非WWW URL的URL。
更新:我检查铬网络和在状态列中,它说(取消),用于类型文档,并将其上显示为红色。这可能是由于IIS返回404,因为具有WWW的域的HTTPS未通过认证。有没有办法解决?
使用IIS8.5/ASP.NET 4.5
谢谢。
我需要为网站的WWW版本创建一个SSL证书。一旦我做到了,重定向就按预期工作。
有关知识,你已经解决你的自我 – Anil
@AnilKumar谢谢,并不是微不足道的,但最终发现了它。 –
http://stackoverflow.com/questions/33381095/how-to-dynamically-add-rules-to-iis-rewrite-map似乎与 – Anil
@AnilKumar我不这么认为,因为在客户端在Chrome开发工具,在'状态'栏它说(取消)类型'文件) –
我认为这是与网站绑定 –