IIS URL Rewrite Module防盜鏈規(guī)則配置方法
IIS版本:IIS 7.5
URL Rewrite組件:IIS URL Rewrite Module(http://www.iis.net/downloads/microsoft/url-rewrite)
根據(jù)需要,點擊右側(cè)的下載鏈接(操作系統(tǒng)是64位的,就下載x64版本;32位的系統(tǒng),就下載x86版本)
注意的是,目前安裝的版本都是英文的了。
下載完成之后,安裝重寫模塊。
下載的是本地msi包(rewrite_amd64.msi或者rewrite_x86.msi),雙擊安裝即可(安裝之前最好先停止IIS服務(wù),如果IIS服務(wù)沒停的話,安裝完成后會要求重啟系統(tǒng)。)
安裝完成后,打開“Internet 信息服務(wù)(IIS)管理器”,就可以看見模塊中多了一個Url Rewrite 模塊。
進入需要設(shè)置的站點,雙擊 Url Rewrite 圖標(biāo),進入設(shè)置界面。
點擊Add Rule(s)輸入Rewrite重寫規(guī)則。
確認(rèn)無誤后,點擊右欄的“應(yīng)用”按鈕,大功告成
當(dāng)然你也可以從原來配置的偽靜態(tài)文件導(dǎo)入:支持isapi的httpd.ini或.htaccess
案例:
很友好的URL地址,使訪問的人很容易記住。要求你的用戶記住“ http://www.dbjr.com.cn/article.aspx?id=342&;title=URL-Rewrite-Walkthrough” 這樣的網(wǎng)址并不是件很美妙的事。如果給用戶提供如下URL地址:http://www.pipima.com/article/342/URL-Rewrite-Walkthrough,就能更好引起共鳴和更容易被記住。
通過IIS URL Rewrite 模塊( URL Rewrite module)你可以很方便建立這一邏輯而不需要修改正在使用的Rewrite Maps代碼.我將告訴你從IIS管理器里來實現(xiàn)。打開IIS管理器,選擇“Default Web Site”,在“功能視圖”單擊“URL Rewrite”,然后在“操作”欄,單擊“Add Rules…”,在“select a rule templates”對話框選擇“Blank rule”,將打開“edit rule”屬性頁,按如下步驟定義實際的重寫規(guī)則(rewrite rule):
1、規(guī)則名稱。
2、匹配URL字符串所使用的模式。
3、設(shè)置條件選項。
4、模式匹配和所有條件檢查成功后執(zhí)行的操作。
為了實現(xiàn)下面的例子,“edit rule”屬性頁如下圖所示:
規(guī)則的名稱應(yīng)該是唯一(不重復(fù))的,匹配字符串“^article/([0-9]+)/([_0-9a-z-]+)”是正則表達(dá)式,將匹配滿足一下標(biāo)準(zhǔn)的任何URL字符串:
1、開始于“article/”字符序列。
2、在“/”后包含一個或多個數(shù)字字符。
3、在第二個“/”后包含一個或多個字母或“_”或“-”。
因為我們創(chuàng)建一個支持重寫URL的規(guī)則,因此規(guī)則類型是“Rewrite“。重寫字符串(Rewrite UR)“article.aspx?id={R:1}&title={R:2}”指定一個新值用于輸入被重寫的URL。參數(shù)我們使用“ {R:1} ”和“{R:2}”,他們將返回一組通過規(guī)則匹配定義的引用(reference)。關(guān)于返回引用( back reference)你可以參考:URL Rewrite Module Configuration Reference,有關(guān)創(chuàng)建重寫規(guī)則的更多內(nèi)容見:Creating rewrite rules for the URL Rewrite Module
一個很重要的就是URL Rewrite模塊是需要被安裝才可以工作,你可以如下兩個版本:
x86版本:http://www.iis.net/downloads/default.aspx?tabid=34&;g=6&i=1691
x64版本:http://www.iis.net/downloads/default.aspx?tabid=34&;g=6&i=1692
該模塊(目前)只支持IIS7.0,你應(yīng)該運行IIS7.0有利于使用它。如果你的項目是使用Visual Studio for Web Developers開發(fā),那么項目應(yīng)該配置成在iis7.0下運行,而不是其他的web服務(wù)器。
有關(guān)URL Rewrite模塊的詳細(xì)內(nèi)容見:http://learn.iis.net/page.aspx/460/using-url-rewrite-module/
注意:
1.原來的$1換成{R:1},其他語法少許變化<rewrite url="~/test/([a-zA-Z0-9_\-]+)/(\d+).html\?{0,1}(.*)$" to="~/test.aspx?id=$4&$5" processing="stop"/>
換成
<rule name="OrgPage" stopProcessing="true">
<match url="^test/([a-zA-Z0-9_\-]+)/(\d+).html\?{0,1}(.*)$" />
<action type="Rewrite" url="test.aspx?id={R:1}&{R:2}" />
</rule>
2.UrlRewriter中 url="~/module/“ ,在URL Rewrite Module中必須換成^module/,否則就算test通過,在實際環(huán)境中也無法解析;
3.以前 UrlRewriter中 url="^/([a-zA-Z0-9_]+)“是可以的,但是在URL Rewrite Module中不行,必須添加參數(shù)
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="^blog\.lehu\.shu\.edu\.cn$" />
<add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
<add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
</conditions>
4.另外需要注意IIS6的config轉(zhuǎn)換到iis7的時候,需要刪除applicationHost.config中<handlers accessPolicy="Read, Script" />的多余參數(shù),或者干脆重新建立,否則會出現(xiàn)很多奇怪的問題,我昨天為了這個搞了好幾個小時,后來才發(fā)現(xiàn)問題。
總體上說,IIS7比IIS6穩(wěn)定些了,到現(xiàn)在位置,IIS6中總是出現(xiàn)的緩沖池死在IIS7中很少出現(xiàn)。具體情況還需要測試。
規(guī)則定義截圖:
Web.config中的規(guī)則定義:
<rewrite>
<rules>
<rule name="RequestBlockingRule1" enabled="true" stopProcessing="true">
<match url=".*" />
<conditions>
<add input="{HTTP_REFERER}" pattern="^$" negate="true" />
<add input="{HTTP_REFERER}" pattern="^http://(.*\.)?(cnblogs\.com)/.*$" negate="true" />
</conditions>
<action type="CustomResponse" statusCode="404" />
</rule>
</rules>
</rewrite>
相關(guān)文章
Web Deploy發(fā)布網(wǎng)站及常見問題解決方法(圖文)
由于最近恰好入手一臺Windows Server 2008 R2的服務(wù)器,所以周良就在這上面進行了一番測試研究2015-01-01Windows下通過FTP自動備份數(shù)據(jù)到服務(wù)器并刪除指定天數(shù)前的備份
有時候我們想將本地的備份文件放到別的服務(wù)器上,實現(xiàn)異地備份,更安全,那么就可以參考下面的方法2013-06-06win2003 防止網(wǎng)卡本地連接被禁用的設(shè)置方法
遠(yuǎn)程管理服務(wù)器有時候不小心會禁用網(wǎng)卡,那么就需要找機房的人來登錄系統(tǒng)幫忙開啟,無疑為我們增加了許多麻煩。2011-01-01win2003下 iis+php快速穩(wěn)定的配置方法
由于win2003的穩(wěn)定性與良好軟件的支持性受到很多朋友的親睞,由于php管理系統(tǒng)成為主流,所有php的支持也是必備的了,一般也不用使用linux系統(tǒng),除非你的網(wǎng)站很大了,一般window夠了,100萬ip也不是問題2013-08-08Win2008下搭建php開發(fā)環(huán)境(IIS FastCGI版)
昨天剛裝的Windows_Server_2008,想在windows下研究一下wordpress,今天就琢磨著Php環(huán)境的搭建了。下面分享一下小狼搭建php環(huán)境的過程吧.2011-03-03serv-u與屏保導(dǎo)致serv-u服務(wù)器經(jīng)常停止無法連接的解決方法
公司win2003服務(wù)器發(fā)現(xiàn)serv-u一直以來都有經(jīng)常暫停無法連接的問題只有重新啟動serv-u才能解決serv-u停止問題,還以為是版本或者流量的關(guān)系2007-12-12快速安裝并配置Windows Server 2022的網(wǎng)卡驅(qū)動
我們將介紹兩種常見的安裝方法:手動安裝和自動安裝,最后,我們將討論如何配置網(wǎng)卡驅(qū)動程序以確保網(wǎng)絡(luò)連接的穩(wěn)定性和性能,需要的朋友可以參考下2023-10-10IIS打開提示MMC無法創(chuàng)建管理單元的解決方法
安裝完IIS后,是否發(fā)現(xiàn)管理工具中沒有Internet 信息服務(wù)這項? 沒有關(guān)系,可以去C:\WINDOWS\system32\inetsrv 中直接點擊IIS.msc直接啟動2014-03-03windows服務(wù)器禁ping怎么打開?服務(wù)器禁ping有什么用
一般企業(yè)為了安全對服務(wù)器都是設(shè)置禁止ping命令的,這樣可以有效避免ping攻擊和掃描,降低服務(wù)器被這類攻擊的風(fēng)險,那么服務(wù)器禁止Ping如何設(shè)置呢?今天給大家分享下禁ping的設(shè)置方法2023-07-07