Iis
使用 IIS 管理器重寫 IIS
您好,我正在嘗試使用託管服務提供商給我的 IIS 管理器憑據進行適當的 IIS 重寫。我沒有這方面的經驗,到目前為止我在網上閱讀的文章並沒有太大幫助。
這是場景:我有一個 ASP.net MVC 5 網站(
reallylongmaindomain.com
為了便於閱讀),該網站實際上已上傳了文件。它使用 SSL 證書進行保護。我們分發的文獻有一個較短的域(不是 URL 縮短的域),我們稱之為shortdomain.com
,它沒有任何文件。但是,如果您導航到**shortdomain.com
**,則會收到 SSL 域名不匹配錯誤(準確地說是 ERR_CERT_COMMON_NAME_INVALID)。這是我需要避免的。IIS 管理器進來了。我已成功登錄系統並添加了 URL Rewrite。這是我的規則:
(http(s)?://)?(www.)?shortdomain.com
。這會處理使用者可能放入地址欄中的任何**http/https
和/或內容。www
操作屬性設置為“重定向”(永久 301)並且重定向 URL 設置為https://reallylongmaindomain.com
,但我仍然收到 SSL 證書錯誤並且視窗中的 URL 仍然是shortdomain.com
**。我確信我只是錯過了一兩件簡單的事情。
我是否還需要將規則添加到我的 Web.Config 文件中?我的印像是 IIS 管理器規則取代了 Web.Config 規則。編輯:該規則已添加到我的 web.config 中,這裡是:<rewrite> <rules> <rule name="site redirect" stopProcessing="true"> <match url="(http(s)?://)?(www.)?shortdomain.com" /> <action type="Redirect" url="https://reallylongmaindomain.com" /> </rule> </rules> </rewrite>
謝謝!
原來這是我正在尋找的規則:
<rewrite> <rule name="redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^(.*)?shortdomain.com" /> </conditions> <action type="Redirect" url="https://reallylongmaindomain.com/{R:0}" /> </rule> </rewrite>
應用此規則後,導航到**
shortdomain.com
完美解析為https://reallylongmaindomain.com
**.希望這可以幫助其他人!