Windows
由於證書問題,在 web.config 中重定向
我正在使用一個 UCC SSL 證書在 IIS 7.5 上執行一些網站,其中有 10 個域受到保護。大多數是
something.company.ch
,有些是something.anothercompany.ch
我們的 web.config 中有一個重定向規則,它將每個 HTTP 請求重定向到一個 HTTPS 請求
我的問題是,我們有像 company.de、company.com 這樣的域,它們不受 SSL 證書的保護,但這些域實際上指向我的 company.ch 站點(IIS 中的站點綁定)。
如果有人現在打開 URL www.company.de,他會收到證書錯誤。
為了獲得最佳Google排名,您應該在 web.config 中進行 HTTPS 重定向,所以我們認為我們需要這樣做。因此,我們嘗試首先將http://www.company.de>重定向到<http://company.ch>,然後再重定向到<https://www.company.ch,但不幸的是,這並不能解決問題。
有誰知道如何解決這個問題?或者更好的方法來完成這項工作?
這是
web.config
規則部分# Redirect of company.de to company.ch <rule name="company.de to company.ch" patternSyntax="ECMAScript" stopProcessing="true"> <match url=".*" /> <conditions logicalGrouping="MatchAny"> <add input="{HTTP_HOST}" pattern="^company.de$" /> </conditions> <action type="Redirect" url="https://www.company.ch/{R:0}" /> </rule> # Redirect everything to HTTPS <rule name="Redirect to HTTPS" stopProcessing="true"> <match url="(.*)" /> <conditions> <add input="{HTTPS}" pattern="^OFF$" /> </conditions> <action type="Redirect" url="https://{HTTP_HOST}/{R:1}" redirectType="SeeOther" /> </rule>
兩件事情:
- 頂部的重定向仍然有 https 而不是 http。
- HTTP_HOST 條件將嚴格匹配 company.de 而不是像 www.company.de 這樣的主機。雖然我可能會弄錯正則表達式(在電話上打字會導致拼寫錯誤),但正則表達式應該類似於
^(.*\.)?something.de$