試圖訪問域像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
謝謝。
http://stackoverflow.com/questions/33381095/how-to-dynamically-add-rules-to-iis-rewrite-map似乎與 – Anil
@AnilKumar我不這麼認爲,因爲在客戶端在Chrome開發工具,在'狀態'欄它說(取消)類型'文件) –
我認爲這是與網站綁定 –