UrlRewriter組件使用說明手冊
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.這裡的重寫規則需根據使用者網站的需要添加,規則需有Regex知識的人員設定。
#測試頁面
#規則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開頭,且區分大小寫.
接著空格後面跟著要轉換的為靜態地址,一般由地址名+Regex組合
再後就是實際的url地址了.參數$n:代表第n個()中Regex匹配的內容;
重寫規則按照順序匹配;
規則一:將類似於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.網頁中的引用的圖片和檔案的路徑請採用絕對路徑
問題二:
如果測試檔案正常顯示,但是使用者編寫的規則,不起作用。
原因:
因為使用者編寫的規則不正確,請使用者修改後測試。