- 浏览: 46078 次
- 性别:
- 来自: 广州
文章分类
最新评论
如何增强你网站中地址的可读性和让搜索引擎快速的收录到你的站点,这就需要你美化你的网页的地址,也就是我们常说的Url
重写技术,大家熟悉的可能有很多
服务器都提供Url
重写的技术,以前我们用的最多的就是Apache
,Jboss
这样一些服务器自带的一些Url
重写,但是他们的配置比较麻烦,性能又不
是太好,现在我们有专一的开源框架来完成Url
重写任务,今天我要介绍的就是UrlRewriter
。使用起来比较简单,配置是相当的简单明了。
我们先简单的了解一下使用Url
重写能给你网站带来哪些好处。
第一:有利于搜索引擎的抓取,因为现在大部分的搜索引擎对动态页面的抓取还比较弱,它们更喜欢抓取一些静态的页面。而我们现在的页面大部分的数据都是动态的显示的。这就需要我们把动态页面变成静态的页面,有利于搜索引擎的抓取。
第二:让用户更容易理解,很少有用户去关心你网站的页面的地址,但对一般的大中型网站增强可读性还是必须的。这样会让你的网站更加完美。
第三:隐藏技术的实现,我们可以通过Url
重写可以实现技术的隐藏。不至于暴露你所采用的技术,给一些想攻击你网站的爱好者提供方便。
第四:可以很方便的重用,提高网站的移植性。如果我们后台方法改动的话,可以保证前台的页面部分不用改。这样就提高了网站的移植性。
它虽然有这么多的优点,但是也有一点缺点的,因为它是通过过滤器原理来实现的,就以为着又多了一道访问,会多少影响点访问速度的,这个可以忽略不计的。
现在UrlRewriter
技术有两个技术平台的,一个就是在Java
方向的,另一个就是.NET
方向的。今天我们讲的是Java
方向的应用。
首先让我们了解它的工作原理,说白了它就是一个简单的过滤器(Filter
)
,看看源码你就会很快的明白,它就是通过我们在jsp
中常用的两个方法实现的forward(),sendRedirect().
下面我们就快速的为你的网站搭建Url
重写技术。
第一步:下载urlrewrite-2.6.0.
现在最新版本是3.1
的。(http://tuckey.org/urlrewrite/dist/urlrewritefilter-2.6.zip
http://urlrewritefilter.googlecode.com/files/urlrewritefilter-3.1.0.zip
把urlrewrite-2.6.0.jar
拷到classpath
下。
第二步:在WEB-INF
目录下建一个urlrewrite.xml
文件。
第三步:在web.xml
中初始化。加上下面的代码:
<!-- Set URL Rewrite-->
<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>
最后我要简单的讲一下常用的两个配置规则.
以下就是简单的urlrewrite.xml
配置片段。不要习惯Java
的命名法把它写成urlRewrite.xml
,这样即使你加上
<init-param>
<param-name>confPath</param-name>
<param-value>/WEB-INF/urlRewrite.xml</param-value>
</init-param>
在启动的服务器的时候还是会报错的,因为源码中必须是全小写的(urlrewrite.xml
)且只能放到WEB-INF
下面。
<?xml version="1.0"
encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite
2.6//EN"
"http://tuckey.org/res/dtds/urlrewrite2.6.dtd">
<urlrewrite>
<rule>
<from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
<to
type="forward">/$1.htm?category=$2&page=$3</to>
</rule>
<rule>
<from>^/rss/yahoo\.html$</from>
<to
type="redirect"> http://add.my.yahoo.com/rss?
url=http://feed.feedsky.com/W3CSSiteFeed
</to>
</rule>
</urlrewrite>
所有的规则配置都写在这里。第一个常用个规则就是站内的简单重写。
<rule>
<from></from>
<to type="forward></to>
</rule>
<from></from>
写上你自己定义的访问地址,<to
type="forward></to>
就是实际的访问地址。比如我们实际的访问地址是:http://yousite.com /entity.htm?category=user&page=2.
而我们想把它重写为http://yousite.com/entity /uesr/page_2.html
。这样看起来比我们实际的要好看的多。我们就应该这样的写:
<rule>
<from>^/(\w+)/(\w+)/page_(\d+)\.html$</from>
<to
type="forward">/$1.htm?category=$2&page=$3</to>
</rule>
简单的介绍一下常用的正规表示式:
代码 说明
.
匹配除换行符以外的任意字符
\w
匹配字母或数字或下划线或汉字
\s
匹配任意的空白符
\d
匹配数字
\b
匹配单词的开始或结束
^
匹配字符串的开始
$
匹配字符串的结束
常用的&
要用 &
来表示。$1,$2
代表与你配置正规表达式/(\w+)/(\w+)/
相对应的参数。<to type="forward">
默认的是
type="forward".
另一个常用的规则就是连接外部的网站。就要用到。<to
type="redirect">
<rule>
<from>^/rss/yahoo\.html$</from>
<to type="redirect">
http://add.my.yahoo.com/rss? url=http://feed.feedsky.com/MySiteFeed
</to>
</rule>
发表评论
-
java web项目配置tomcat连接池
2011-09-20 23:33 1736本文包含两部分内容。第一部分是在eclipse下配置项目 ... -
javaweb中的请求--响应流程(get方式提交请求)
2011-09-11 22:30 987javaweb中的请求--响应流程(get方式提交请求) -
JSP入门需要知道的五个方面
2011-09-10 21:16 777本文是一个JSP入门的简单的总结性文章,从Servlet知 ... -
Form表单提交数据编码方式和tomcat接受数据解码方式的思考
2011-09-10 21:11 512form有2中方法把数据提 ... -
execute、executeQuery和executeUpdate之间的区别
2011-09-10 21:09 659JDBCTM中Statement接口提 ... -
使用eclipse开发J2EE应用
2011-09-10 21:08 708使用eclipse开发J2EE应用 -
web.xml文件在web项目中的作用及基本配置
2011-09-10 21:03 1879web 工程中的 web.xml 文件有什 ... -
JSP入门之避免Form表单重复提交的几种方案
2011-09-10 20:59 1072对于JSP 入门的初级的学习者表单的提交是一个非常困扰 ... -
java中文乱码解决方法
2011-09-10 20:56 7381 .以POST 方法提交 ... -
jsp实现网页计数器(防刷新计数和防刷新单用户计数)
2011-09-10 20:51 1241jsp实现网页计数器(防刷新计数和防刷新单用户计数) -
jsp分页实现
2011-09-10 20:47 582jsp分页实现 -
多图详解教程:Eclipse3.6连接Tomcat7
2011-09-10 20:44 689多图详解教程:Eclipse3.6连接Tomcat7(见附件) ... -
url 重写来实现会话管理
2011-09-08 21:45 907如果浏览器不支持 cookies,或将浏览器设置为不接受 co ... -
jsp环境下session的创建
2011-09-08 20:54 7821)-不恰当的request.getSessi ... -
跳出页面的Frame框架
2011-09-08 12:12 614如何跳出页面的Frame 框架 很多网页都是框架结构的 ... -
使用eclipse开发J2EE应用
2011-09-08 12:09 0<!-- [if !mso]> <styl ... -
web.xml 中的listener、 filter、servlet 加载顺序及其详解
2011-09-08 12:05 644一、 1、启动一个WEB项 ... -
TOMCAT数据库连接池的配置方法总结
2011-09-08 12:02 812以MySQL+TOMCAT 为例 1. ... -
Tomcat解决中文转码问题
2011-09-08 11:51 1841Tomcat解决中文转码问题 ... -
Tomcat与IIS整合手记
2011-09-08 11:49 966安装配置 IIS6 和 Tomcat6 ...
相关推荐
Url重写,无后缀Url重写,UrlRewriter.dll
静态页面转换静态页面转换静态页面转换静态页面转换
UrlRewriter.dll实现URL重写 以及伪静态
用Intelligencia.UrlRewriter组件实现URL重写,有源代码,有详细文档说明
URLRewriter(URL重写)测试代码
net用url重写URLReWriter实现任意二级域名
以做好例子,可以自己修改配置,url重写使用微软的URLRewriter.dll
灵活的URL重写可以让你的网站增加可用性和专业性。在帮助网站更好的被搜索引擎索引收录方面,这也是一个重要的因素。在本篇文章中,我将带你了解如何在ASP.NET中简单的实现URL重写,以及一些常见问题的解决办法。我...
IIS URL Rewrite模块(URL 重写)
有完整解决方案,我已经调试好了,你们可以直接查看,然后再根据自己实际情况重写自己的项目URL url重写 微软URLRewriter.dll的url重写
利用URLRewriter.dll 、ActionlessForm.dll包进行url重写,轻松实现url重写。
伪静态URL重写是通过微软公司封装好了的一个URL重写组件(UrlReswriter.jar)来实现的,导入JAR包,在WEB服务中加载伪静态地址拦截器,客户端以静态地址向服务器发起请求,服务器端的拦截器拦截客户端请求,查找XML...
C#,ASP.NET,SQLServer C#,ASP.NET,SQLServer C#,ASP.NET,SQLServer C#,ASP.NET,SQLServer C#,ASP.NET,SQLServer
asp.net url重写(URLRewriter)
UrlRewrite就是我们通常说的地址重写,用户得到的全部都是经过处理后的URL地址。优点(1)提高安全性 可以有效的避免一些参数名、ID等完全暴露在用户
用于asp.net中重写url,这里面只提供了一个dll,没实例,今天没时间就没一起打包。下次带上。下载的朋友给个好评吧、
URL重写,UrlRewriter.dll,ActionlessForm.dll
ActionlessForm.dll,URLRewriter.dll实现URL重写组件
URL重写(UrlRewriter)+ 微软官方网DLL