目錄
本文着眼於IIS重寫模塊,並展示瞭如何設置規則來處理如何處理對特定URL的請求。它查看一個Powershell腳本,該腳本調用Web平臺安裝程序以安裝URL Rewrite 2.0功能以及如何加載web.config。
IIS重寫模塊是IIS中非常強大的功能。它使您能夠設置規則來處理如何處理對特定URL的請求。
您可以:
- 執行重定向
- 發送自定義回覆
- 根據重寫模塊中的規則停止HTTP請求。
重定向到HTTPS
IIS中有多種方法可以將URL重定向到HTTPS。HTTP重定向功能很有用,但它僅重定向到特定的URL。如果要重定向到HTTPS並保留頁面和查詢字符串請求的完整URL,我更喜歡使用URL重寫模塊。
安裝IIS URL重寫功能
URL重寫模塊可與IIS 7及更高版本一起使用,當前版本爲2.0。
您可以使用以下方法安裝URL Rewrite 2.0模塊:
Web平臺安裝程序
Web平臺安裝程序。或直接從其頁面上http://www.iis.net/downloads/microsoft/url-rewrite下載。
Chocolatey
https://chocolatey.org/packages/UrlRewrite這確實需要IIS(顯然希望如此)
choco install urlrewrite
Powershell
用Powershell腳本執行以下操作:在c:上創建一個msi目錄:。下載Web平臺安裝程序。安裝Web平臺安裝程序。調用Web平臺安裝程序以安裝URL Rewrite 2.0功能
reate-Item c:/msi -Type Directory
Invoke-WebRequest 'http://download.microsoft.com/download/C/F/F/CFF3A0B8-99D4-41A2-AE1A-496C08BEB904/WebPlatformInstaller_amd64_en-US.msi' -OutFile c:/msi/WebPlatformInstaller_amd64_en-US.msi
Start-Process 'c:/msi/WebPlatformInstaller_amd64_en-US.msi' '/qn' -PassThru | Wait-Process
cd 'C:/Program Files/Microsoft/Web Platform Installer'; .\WebpiCmd.exe /Install /Products:'UrlRewrite2' /AcceptEULA /Log:c:/msi/WebpiCmd.log
制定規則
直接在web.config中設置規則。我認爲它比GUI顯示的內容更能使您理解規則。
因此,加載您的web.config並添加以下新部分:
<rewrite>
<rules>
<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="Permanent"/>
</rule>
</rules>
</rewrite>
現在,如果您返回IIS中的URL Rewrite模塊,您將看到它如何設置規則。
摘要
URL重寫模塊是一項強大的功能,它使您可以完全控制發生的事情。