UrlRewriteFilter重寫技術的應用

2021-06-08 14:55:58 字數 1867 閱讀 8409

如何增強你**中位址的可讀性和讓搜尋引擎快速的收錄到你的站點,這就需要你美化你的網頁的位址,也就是我們常說的url重寫技術,大家熟悉的可能有很多伺服器都提供url重寫的技術,以前我們用的最多的就是apache,jboss這樣一些伺服器自帶的一些url重寫,但是他們的配置比較麻煩,效能又不是太好,現在我們有專一的開源框架來完成url重寫任務,今天我要介紹的就是urlrewriter。使用起來比較簡單,配置是相當的簡單明瞭。

把urlrewrite-2.6.0.jar拷到classpath下。

第二步:在web.xml中初始化。加上下面的**:

<

filter

>

<

filter-name

>

urlrewritefilter

filter-name

>

<

filter-class

>

org.tuckey.web.filters.urlrewrite.urlrewritefilter   

filter-class

>

filter

>

<

>

<

filter-name

>

urlrewritefilter

filter-name

>

<

url-pattern

>

/*url-pattern

>

>

第三步:在web-inf目錄下建乙個urlrewrite.xml檔案。

所有的規則配置都寫在這裡。第乙個常用個規則就是站內的簡單重寫。

一些說明

寫上你自己定義的訪問位址

就是實際的訪問位址

而我們想把它重寫為即from

我們就應該這樣的寫:

^/(\w+)/(\w+)/page_(\d+)\.html$

/$1.htm?category=$2&page=$3

假設實際的訪問位址是:http://localhost:8080/user/search.action?gender=male&name=mary,即to

而我們想把它重寫為http://localhost:8080/user/search/male/mary.html,即from

我們就應該這樣的寫:

^/(\w+)/(\w+)/(\w+).html$

/$1.action?gender=$2&name=$3

簡單的介紹一下常用的正規表示式:  

** 說明 

. 匹配除換行符以外的任意字元 

\w 匹配字母或數字或下劃線或漢字 

\s 匹配任意的空白符 

\d 匹配數字 

\b 匹配單詞的開始或結束 

^ 匹配字串的開始 

$ 匹配字串的結束

常用的&要用  &來表示。$1,$2代表與你配置正規表示式/(\w+)/(\w+)/相對應的引數。預設的是 type="forward".

另乙個常用的規則就是連線外部的**。就要用到。

url重寫技術

注釋掉 條目,以使用 http 模組執行重寫 注釋掉 條目,以使用 http 處理程式執行重寫。除了指定使用 http 模組還是 http 處理程式執行重寫外,web.config 檔案還包含重寫規則 重寫規則由兩個字串組成 要在被請求的 url 中查詢的模式 要替換此模式的字串 如果找到 在 we...

URL重寫技術

什麼是url重寫?比如原來要訪問乙個網頁使用的 是 http index.php,但是我們可以使用url重寫技術,將原來的url位址變成http index.html,之後可以通過訪問http index.html達到原來的效果,這可以通過apache的mod rewrite模組來實現 1 要進行u...

Nginx Rewrite重寫技術

permanent last 相當於apache裡的 l 標記,表示完成rewrite break 本條規則匹配完成後,終止匹配,不再匹配後面的規則 redirect 返回302臨時重定向,瀏覽器位址會顯示跳轉後的url位址 permanent 返回301永久重定向,瀏覽器位址會顯示跳轉後url位址...