1. 程式人生 > >偽靜態的介紹和配置

偽靜態的介紹和配置

1.什麼是偽靜態

     偽靜態就是考慮搜尋引擎優化SEO,將動態網頁通過伺服器處理成靜態頁面,如www.xxx.com/jk/fd.php?=12這樣的動態網頁處理成www.xxx.com/jk-fd-12.html這樣格式靜態頁面,常見的論壇帖子頁面,都是經過偽靜態處理成靜態頁面格式html頁面。

其實表面上看起來是靜態的頁面,但是本質上只是做了一些頁面跳轉和訪問的url地址的變化,為了增加安全性。

2.偽靜態的配置

偽靜態中在xml中配置的都是用正則表示式來表示的,所以首先我們先了解一下正則的幾個基本的用法。

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

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

\s  匹配任意的空白符

\d  匹配數字

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

^   匹配字串的開始

$   匹配字串的結束   abc$ 表示希望匹配的字串以abc結尾

[]  用來表示一個字元的集合

() 表示一個被獲取的匹配

+  表示一個字元重複至少一次


工作原理:

它就是一個簡單的過濾器(Filter),是通過我們在jsp中常用的兩個方法實現的forword和sendRedirect()

使用流程:

(1) 下載urlrewrite-2.6.0  或更高版本的,現在的最高版本是4.0.3       (urlrewrite-3.1.0.jar)

(2) 在WEB-INF目錄下建一個urlrewrite.xml,用於配置在頁面跳轉時的,他的主要結構為:

<?xml version="1.0" encoding="UTF-8"?>
  <!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 4.0//EN"
        "http://tuckey.org/res/dtds/urlrewrite4.0.dtd">
  <urlrewrite>
			<rule>
				<from></from>
				<to></to>
			</rule>
  </urlrewrite>

在實際應用中,也許我們會在傳page

的時候用到,比如

  <rule>
		<from>^/(\d+)\.html$</from>
		<to type="forward">/practice/index-$1.jsp</to>
	</rule>

其中$1表示第一個引數,$2表示第二個引數 ,$3表示第三個引數

^/(\w+)/(\w+)/page_(\d+)\.html$是正則表示式的表示,我們在上面已經講的很清楚了,可以參照著看一下,相信你會明白的。

3)第三步就是在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>  
  </filter-mapping>  

這樣我們就配置好了偽靜態。

注:

SEO是搜尋引擎優化(Search Engine Optimization)

SEO是為了從搜尋引擎中獲得更多的免費流量,從網站結構、內容建設方案、使用者互動傳播等角度進行合理規劃,使網站更適合搜素引擎的檢索原則的行為。

SEO可以幫你將網站中的高質量內容更好的呈現給搜尋引擎,獲取更多流量,但沒有人可以保證你的網站排在第一位。

<rule>
	<from>^/practice/index-a([1-9]+)-([a-z]+).html$</from>
	<to type="forward">/practice/index.jsp</to>
</rule>

以上這種是指定2個引數的傳參

如果傳值是不確定的那麼

<rule>
	<from>^/m</from>
	<to type="forward">/manage.jsp</to>
</rule>

就可以了