伪静态的介绍和配置

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)

http://tuckey.org/urlrewrite

(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>

就可以了









你可能感兴趣的:(伪静态的介绍和配置)