UrlRewrite 重寫url詳解及實(shí)例
UrlRewrite 重寫url詳解
UrlRewrite就是我們通常說的地址重寫,用戶得到的全部都是經(jīng)過處理后的URL地址。
urlrewrite顧名思義,就是對(duì)URL進(jìn)行重寫,用戶得到的全部都是經(jīng)過處理后的URL地址,這樣做我覺得好處有三:
一:提高安全性,可以有效的避免一些參數(shù)名、ID等完全暴露在用戶面前,如果用戶隨便亂輸?shù)脑挘环弦?guī)則的話直接會(huì)返回個(gè)404或錯(cuò)誤頁面,這比直接返回500或一大堆服務(wù)器錯(cuò)誤信息要好的多
二:美化URL,去除了那些比如*.do之類的后綴名、長長的參數(shù)串等,可以自己組織精簡更能反映訪問模塊內(nèi)容的URL
三:更有利于搜索引擎的收入,通過對(duì)URL的一些優(yōu)化,可以使搜索引擎更好的識(shí)別與收錄網(wǎng)站的信息
使用步驟
1下載jar
官方地址:http://tuckey.org/urlrewrite/
下載urlrewritefilter-4.0.3.jar,加入到工程lib目錄下。
2配置web.xml
<filter> <filter-name>UrlRewriteFilter</filter-name> <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class> </filter> <filter-mapping> <filter-name>UrlRewriteFilter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>
3 配置urlrewrite.xml
添加urlrewrite.xml 到工程的WEB-INF目錄下。
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.1//EN" "http://tuckey.org/res/dtds/urlrewrite3.1.dtd"> <urlrewrite> <rule> <note> The rule means that requests to /test/status/ will be redirected to /rewrite-status the url will be rewritten. </note> <from>^/vweb/view/index\-([0-9]+)$</from> <to>/vweb/view/index.shtml?_vwebid=$1&type=show</to> </rule> </urlrewrite>
小結(jié):
urlrewrite是個(gè)過慮器,它將會(huì)過慮用戶的所有請(qǐng)求,符合規(guī)則的便對(duì)其進(jìn)行重定向。rule結(jié)點(diǎn)中from的規(guī)則默認(rèn)使用的是正則表達(dá)式來匹配的,
當(dāng)用戶訪問服務(wù)器時(shí)的URL會(huì)與該配置相比較,如果符合規(guī)則就會(huì)按照下面to結(jié)點(diǎn)中的配置對(duì)其進(jìn)行跳轉(zhuǎn),其默認(rèn)是forward跳轉(zhuǎn)。
簡單分析一下上面的正則表達(dá)式“^/vweb/view/index-([0-9]+)”:“”匹配輸入字符串的開始位置“”匹配輸入字符串的結(jié)束位置
“\”轉(zhuǎn)義字符,表示后面的“-”不具有特殊含義,只是一個(gè)簡單的字符串。
“([0-9]+)”:
“[0-9]”:由0到9中任何數(shù)據(jù)組成的字符串
“+”匹配1或多個(gè)正好在它之前的那個(gè)字符。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
- nginx rewrite 實(shí)現(xiàn)URL跳轉(zhuǎn)的方法
- IIS 7.5 使用URL Rewrite模塊的簡單設(shè)置實(shí)現(xiàn)網(wǎng)頁跳轉(zhuǎn)
- IIS下配置頁面重寫(配合插件url-rewrite2去除頁面后綴名)的實(shí)現(xiàn)方法
- Windows Server 2016中安裝PHP Manager、ARR3.0或者URL Rewrite 2.0無法成功的解決辦法
- IIS8中安裝和使用URL重寫工具(URL Rewrite)的方法
- 詳解nginx rewrite和根據(jù)url參數(shù)location
- windows server 2008R2系統(tǒng) IIS7.5配置偽靜態(tài)的方法(urlrewrite)
- Nginx服務(wù)器下使用rewrite重寫url以實(shí)現(xiàn)偽靜態(tài)的示例
- UrlRewrite概念原理及使用方法解析
相關(guān)文章
線程池中使用spring aop事務(wù)增強(qiáng)
這篇文章主要介紹了線程池中使用spring aop事務(wù)增強(qiáng),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02淺談java7增強(qiáng)的try語句關(guān)閉資源
下面小編就為大家?guī)硪黄獪\談java7增強(qiáng)的try語句關(guān)閉資源。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06MyBatis傳入集合 list 數(shù)組 map參數(shù)的寫法
這篇文章主要介紹了MyBatis傳入集合 list 數(shù)組 map參數(shù)的寫法的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-06-06springboot 使用QQ郵箱發(fā)送郵件的操作方法
這篇文章主要介紹了springboot使用QQ郵箱發(fā)送郵件功能,本文通過實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-10-10Spring Boot 項(xiàng)目啟動(dòng)失敗的解決方案
這篇文章主要介紹了Spring Boot 項(xiàng)目啟動(dòng)失敗的解決方案,幫助大家更好的理解和學(xué)習(xí)使用Spring Boot,感興趣的朋友可以了解下2021-03-03