URL Rewrite Module是一個(gè)基于規(guī)則的URL重寫引擎,用于在URL被Web服務(wù)器處理之前改變請求的URL。對于動(dòng)態(tài)Web應(yīng)用程序,它可以為用戶和seo/seo.html" target="_blank">搜索引擎提 供友好的URL,URL重寫和重定向是基于HTTP頭和服務(wù)器變量的,并可以對站點(diǎn)內(nèi)容進(jìn)行訪問控制。
Windows Server 2016 IIS10安裝URLRewrite 2.0組件失敗
1,打開Regedit> HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ InetStp
2,編輯“MajorVersion”并以十進(jìn)制設(shè)置數(shù)值數(shù)據(jù)值為9
3,在Regedit中點(diǎn)擊F5
4,現(xiàn)在安裝ReWrite 2.0模塊。
5,再將“MajorVersion”以十進(jìn)制設(shè)置回?cái)?shù)值數(shù)據(jù)值為10
6,在Regedit中點(diǎn)擊F5
7,關(guān)閉Regedit
然后重新安裝就成功了~~
在IIS上使用URL重寫工具的具體步驟
首先打開IIS下網(wǎng)站的URL重寫功能:
我們右鍵或者右邊的操作菜單欄中選擇添加規(guī)則,我們可以看到默認(rèn)有提供很多規(guī)則模板,這里我們選擇一個(gè)空白規(guī)則作為添加301重定向的重寫演示:
打開編輯入站規(guī)則的界面后,我們輸入自己定義的名稱,選擇匹配URL的方式和使用的規(guī)則,規(guī)則可以選擇正則表達(dá)式、通配符和完全匹配,這里使用的是正則作為示例。最后在匹配URL模式輸入.*(正則表達(dá)式,表示匹配所有的路徑,這里就是文檔中的rule patterns)。
關(guān)于這里的規(guī)則模式,這里建議看這篇文章:詳解IIS中URL重寫工具的匹配URL-規(guī)則模式(rule patterns)
接下來添加URL過濾條件,邏輯分組那根據(jù)自己的需求選擇,比如筆者是打算做全站301跳轉(zhuǎn),所以這里用任意匹配。點(diǎn)擊添加按鈕,設(shè)置輸入為{HTTP_HOST} ,類型為與模式匹配,模式為^www.shiyousan.com$, 由于之前選擇了使用正則作為匹配規(guī)則,所以這里要注意使用正確匹配規(guī)則。這里主要是設(shè)置匹配所有帶www的二級域名路徑,無論是否有帶參數(shù)或者目錄全部都會(huì)匹配到,等于二級域名全站匹配進(jìn)行重定向跳轉(zhuǎn)。
PS:
服務(wù)器變量如果沒有就放空不設(shè)置。
{HTTP_HOST}服務(wù)器變量類型,表示所請求的主機(jī),是規(guī)則條件輸入的值。如果選擇的類型為與模式匹配,一般常用有QUERY_STRING、HTTP_HOST、SERVER_PORT、SERVER_PORT_SECURE、REQUEST_URI等服務(wù)變量,建議看這篇文章:詳解IIS中URL重寫工具的規(guī)則條件(Rule conditions),里面有更加詳細(xì)的說明。
最后一步就是設(shè)置操作,操作類型有五個(gè)選項(xiàng):重寫、無、重定向、自定義響應(yīng)、中止請求。筆者選擇的是重定向,然后設(shè)置重定向URL,這里的URL是:http://shiyousan.com/{R:0} 。表示所有www.shiyousan.com的URL地址(包括有帶參數(shù)的地址以及多級目錄的地址)都要跳轉(zhuǎn)到shiyousan.com這個(gè)頂級域名的URL中。最后重定向類型選擇永久301就大功告成了!。
PS:{R:0}是反向引用,表示與匹配url模式.*的正則全部匹配,也就是rule patterns的匹配規(guī)則,具體可以看這篇文章:詳解IIS中的URL重寫工具下關(guān)于操作重定向URL中的{R:N}與{C:N},也可以看官方的文檔:Using back-references in rewrite rules
- PC官方版
- 安卓官方手機(jī)版
- IOS官方手機(jī)版