UrlRewriter組件使用說明手冊
: 所有用戶都相同的操作
: 根據用戶需求不同而不同
: 用戶安裝組件後可能出現的問題
UrlRewrite介紹
什麼是UrlRewrite?
UrlRewri
使用UrlR
為什麼使用UrlRewrite:
1) 處理這樣的情形:你要更改你的web應用中網頁的結構,但你同時也要確保在你移動網頁後,那些被人收藏的老URL不會成為死鏈接。
重寫URL
2)其次可以隱藏網站所用的編程語言,還可以提高網站的可移植性。
當網站每個頁面都掛著鮮明的.asp/.aspx/.php這種開發語言的標記,別人一眼即可看出你的網站是用什麼語言做的。而且在改變網站的
語言的時候,你需要改動大量的鏈接。而且,當一個頁面修改了擴展名,它的pagerank也會隨之消失,從頭開始。我們可以用UrlRewrite
技術隱藏我們的實現細節,這樣修改移植都很方便,而且完全不損失pagerank。
3) 最重要
網頁的UR
安裝
Setp 1: 拷貝測試文件
1.拷貝測試文件前,先搭建好asp,php,asp.net壞境.
2.拷貝D:netcnnetcn_URLRewritetest目錄下的UrlRewrite組件的測試文件到網站根目錄
3.接著使用http://域名/URLRewrite.html訪問該網站,通過頁面提示測試ISAPI_Rewrite是否安裝成功了。
Setp 2: 修改httpd.ini文件,用戶添加規則
修改D:netcnnetcn_URLRewritehttpd.ini文件,添加rewriter規則:
注:1.修改httpd.ini前請先備份;
2.這裡的重寫規則需根據用戶網站的需要添加,規則需有正則表達式知識的人員設置。
#測試頁面
#規則1
RewriteRule /test.html /test.asp
#規則2
RewriteRule /tags/([0-9]+) /tags.php?tags=$1
#規則3
RewriteRule /article/([0-9]+)/([_0-9a-z-]+) /article.aspx?id=$1&title=$2
說明:
每個規則都要以RewriteRule開頭,且區分大小寫.
接著空格後面跟著要轉換的為靜態地址,一般由地址名+正則表達式組合
再後就是實際的url地址了.參數$n:代表第n個()中正則表達式匹配的內容;
重寫規則按照順序匹配;
規則一:將類似於http://localhost/test.html的url轉向:
http://localhost/test.asp
規則二:將類似於http://localhost/tags/id的url轉向:
http://localhost/tags.php?tags=id
規則三:將類似於http://localhost/article/342/some-article-title的url轉向:
http://localhost/article.aspx?id=342&title=some-article-title
4)httpd.ini文件保存後即可生效
5)URLr
Setp 3: 測試
具體參照【使用效果】
可能出現的問題:
問題一:
不少人在第一次使用URL重寫時,會發現他們的圖像和CSS樣式表引用有時會停止工作。
原因:
這是因為他們在網頁裡有對這些文件的相對引用,當你開始在應用裡重寫URL時,你需要意識到浏覽器經常會在不同的邏輯層次結構層上
(logical hierarchy levels)請求文件,而不是實際存儲在服務器上的東西。
建議:
1.網頁中的引用的圖片和文件的路徑請采用絕對路徑
問題二:
如果測試文件正常顯示,但是用戶編寫的規則,不起作用。
原因:
因為用戶編寫的規則不正確,請用戶修改後測試。