[英]Rewrite Rule: Question about regex pattern
我不知道為什么某些重寫規則不起作用。 我有這個規則:
<rule name="CanonicalHostNameRule1" enabled="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="testsite\.com" negate="true" />
</conditions>
<action type="Redirect" url="https://www.testsite.com/{R:1}" />
</rule>
當我進入IIS並使用URL重寫模塊時,我使用“ http://testsite.com ”進行了測試。 這可行。 但是將更新的web.config放入生產環境后,這些是我在url中鍵入以下內容的結果:
通過輸入以下變體形式,我可以訪問該網站:
https://www.testsite.com
http://www.testsite.com
www.testsite.com
testsite.com
但是我在輸入時收到錯誤消息“ testsite.com拒絕連接”:
https://testsite.com
http://testsite.com
我缺少什么,這阻礙了最后兩個工作? 似乎我擁有的重寫規則應捕獲所有請求。
先感謝您!
我的猜測是,對於最后兩個示例,它們的{HTTP_HOST}
將沒有www,這意味着它將與您的條件匹配,從而導致negate屬性跳過規則操作。
我建議您啟用IIS Failed Request Tracing ( IIS失敗請求跟蹤) ,以便准確確定為什么重寫規則不適用於這些值。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.