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