UrlRewrite有什么用處?
1、滿足搜索引擎的要求
某些搜索引擎不能支持動(dòng)態(tài)頁面的抓取,大量的信息就不能被潛在用戶搜索到。用UrlRewrite技術(shù)你可以把 http://server/news.asp?id=111 變成 http://server/news/111.htm 這樣他們就會(huì)被搜索引擎收錄了。google雖然可以抓取動(dòng)態(tài)頁面,但是google對(duì)動(dòng)態(tài)頁面的評(píng)分一般低于靜態(tài)頁面。所以,對(duì)大量信息發(fā)布的網(wǎng)站,把網(wǎng)站地址改變成靜態(tài)的絕對(duì)是值得的。
2、隱藏技術(shù)實(shí)現(xiàn),提高網(wǎng)站的移植性
每個(gè)頁面都掛著鮮明的.asp/.jsp這種開發(fā)語言的標(biāo)記,可以一眼讓人看出你的網(wǎng)站使用什么語言做的。而且在改變網(wǎng)站的語言的時(shí)候,你需要改動(dòng)大量的鏈接。而且,一個(gè)頁面修改了擴(kuò)展名,他的pagerank也會(huì)隨之消失,從頭開始。我們可以用UrlRewrite技術(shù)隱藏我們的實(shí)現(xiàn)細(xì)節(jié),這樣修改移植都很方便,而且完全不損失pagerank。
3、滿足美感的要求
對(duì)于追求完美主義的網(wǎng)站設(shè)計(jì)師,即使是網(wǎng)頁的地址也要看起來簡(jiǎn)潔明快。形如 http://server/news.asp?channel=3&id=111 的網(wǎng)頁地址,肯定是上不了完美主義者的法眼的,用UrlRewrite技術(shù),你可以把他變成 http://server/news/3/111.htm 。
IIS 5.0支持UrlRewrite么?
答案很簡(jiǎn)單,不支持。但是我們可以通過安裝服務(wù)器擴(kuò)展讓IIS支持。
目前有兩種產(chǎn)品支持IIS 5.0的UrlRewrite,isapi_rewrite 和 IIS Rewrite。
isapi_rewrite: http://www.helicontech.com/download/#isapi_rewrite
IIS Rewrite :http://www.qwerksoft.com/products/iisrewrite/download.asp
這里只有ISAPI Rewrite的一個(gè)LITE版本是免費(fèi)的,其它都是trial版本。ISAPI Rewrite Lite的版本功能。
我們采用isapi_rewrite Lite Version(免費(fèi)版本)。
引用:
This is simplified edition of ISAPI_Rewrite. It does not support per-virtual-site configurations, proxiing, metabase monitoring and automatic cache cleanup but all other features are supported.
所以,lite版本不支持虛擬站點(diǎn)配置,元數(shù)據(jù)監(jiān)測(cè)和自動(dòng)緩存清理。
metabase元數(shù)據(jù):metabase 元數(shù)據(jù)庫 指一個(gè)駐留內(nèi)存的數(shù)據(jù)存儲(chǔ)區(qū)域,其中存放著IIS的配置值。/Metabase是儲(chǔ)存成System32\Inetsrv
資料夾中的Metabase.bin文件
如何進(jìn)行UrlRewrite的設(shè)置?
isapi_rewrite利用正則表達(dá)式進(jìn)行替換規(guī)則的表示。
下面是一個(gè)簡(jiǎn)單的例子,我想讓我們的用戶輸入 http://server/test-12314.html 實(shí)際上訪問的是 http://server/test.asp?id=12314 。那么我們的匹配表達(dá)式應(yīng)該是 /test-([0-9]*).html 對(duì)應(yīng)的格式化表達(dá)式應(yīng)該為 /test.asp\?id=$1 。
進(jìn)行正則表達(dá)式的編寫的時(shí)候,可以利用isapi_rewrite提供的正則表達(dá)式測(cè)試工具(默認(rèn)安裝提供),進(jìn)行調(diào)試。如下圖:
做好了匹配表達(dá)式和格式化表達(dá)式,我們可以按照下面的格式,把它們放到安裝目錄下的httpd.ini里面。
格式:RewriteRule 匹配表達(dá)式 格式化表達(dá)式
剛才的例子:RewriteRule /test-([0-9]*).html /test.asp\?id=$1
文件保存后,不需重新啟動(dòng)iis即可生效。
參考資料:
面向Google(Search Engine Friendly)的URL設(shè)計(jì)
http://www.chedong.com/tech/google_url.html
ISAPI REWRITE文檔
http://www.isapirewrite.com/docs/
操作實(shí)例:
1.下載ISAPI_Rewrite.ISAPI_Rewrite分精簡(jiǎn)(Lite)和完全(Full)版.精簡(jiǎn)版不支持對(duì)每個(gè)虛擬主機(jī)站點(diǎn)進(jìn)行重寫,只能進(jìn)行全局處理.不過對(duì)于有服務(wù)器的朋友,精簡(jiǎn)版也就夠啦.精簡(jiǎn)版下載地址:http://www.helicontech.com/download/,就是那Lite Version (free)啦.
2.安裝.msi的文件,和裝一般程序一樣裝就可以了,俺就裝在D:\ISAPI_Rewrite.
3.接下來一步比較重要哦,看仔細(xì)嘍.打開Internet 信息服務(wù),右鍵,web站點(diǎn)屬性,電ISAPI篩選器選項(xiàng)卡.添加篩選器,名稱自己填,路徑自己指定ISAPI_Rewrite.dll,然后確定.
.來測(cè)試一下.新建一個(gè)1ting.asp,里面寫上
CODE: [Copy to clipboard]
<%=request.querystring("inso")%>
,
效果就是執(zhí)行的時(shí)候1ting.asp?inso=*瀏覽器顯示*.
5.這一步很重要哦,開始添加rewrite規(guī)則.正則,好頭痛,幸虧這個(gè)例子比較簡(jiǎn)單.
找到ISAPI_Rewrite目錄,把httpd.ini的只讀屬性去掉,打開編輯.我們要把1ting.asp?inso=im286映射成為1ting-im286.html這樣的類型,需要在httpd.ini里加上這么一行:
CODE: [Copy to clipboard]
RewriteRule /1ting-([0-9,a-z]*).html /1ting.asp\?inso=$1
,保存.
更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號(hào)聯(lián)系: 360901061
您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對(duì)您有幫助就好】元
