`

urlrewirte基本配置与常见问题.

阅读更多

      项目中用到urlrewrite来伪静态化url地址,故对urlrewrite进行了简单的研究应用。在此把基本配置和常见的问题记录下来,以备后用。

 

      urlrewritefilter简介 :是一个用于改写url的web过滤器,类似于Apache的mod_rewrite,适用于任何web服务器(tomcat,jboss,jetty等),他是一个把url进行伪静态化的开源工具包,并不是真正的静态化。典型的应用就是把weburl静态化,以便于搜索引擎爬虫抓取你的页面。

 

      引入urlrewrite的目的:

      1):为了对搜索友好,因为搜索进行对动态url抓取没有对静态url高。

      2):屏蔽内部url结构,使应用相对安全,提高网站的可移植性。

      3):在一定成度上也对url地址有美化和从简的作用。

 

      简单示例

 

http://www.xxx.net/user/profile.do?id=20001====>http://www.xxx.net/user/20001
http://www.xxx.net/forum/board.do?name=jav ====>http://www.xxx.net/forum/java
http://www.xxx.net/forum/thread.do?id=29923 ====>http://www.xxx.net/thread/29923 
 

 

      urlrewritefilter基本配置步骤

      1):下载urlrewrite包,并把他考到项目的WEB-INF/lib目录下。

               注:如果项目中使用了maven,并搭建了nexus数据仓库,则可以直接通过nexus进行搜索,并选择你需要的版本,把xml配置复制到你工程的pom.xml中即可。

 

      2):在WEB-INF目录下添加rewrite.xml文件。rewrite.xml的dtd头比较重要,如果dtd头中的版本号与实际urlrewrite包版本不匹配的话会报如下错误:

 

org.tuckey.web.filters.urlrewrite.Conf ERROR:
Exception loading conf  Connection timed out:connect java.net.ConnectException:
Connection timed out: connect 

 

       3):在web.xml文件中添加urlrewritefilter过滤器:

 

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

       4):在rewrite.xml文件中配置你自己的url转换规则,简单示例如下:

 

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE urlrewrite PUBLIC "-//tuckey.org//DTD UrlRewrite 3.2//EN" "http://tuckey.org/res/dtds/urlrewrite3.2.dtd">
<urlrewrite> 
    <rule>
        <name>World Rule1</name>
        <note>注释1</note>
        <from>^/newbie</from>
        <to type="forward">/newbie.jsp</to>
    </rule>
    <rule>
        <name>World Rule2</name>
        <note>注释2</note>
        <from>^/self-service</from>
        <to type="forward">/self-service.jsp</to>
    </rule>
</urlrewrite>
 

      配置urlrewirte注意事项:

      1):urlrewirte.xml文件的编码格式为utf-8,如果<note>节点中有中文,那么中文编码也必须是utf-8编码的。

      2):配置web.xml的时候,urlrewritefilter过滤器必须配置在struts2的拦截器之前,否则urlrewritefilter过滤器有可能对某些url不起作用。

      3):strtus2的filter-mapping一定要添加:<dispatcher>FORWARD</dispatcher>

      4):在写rule的时,如果有多个参数时,中间的连接符号&应该是&amp;

      5):urlrewrite.xml标签的一些说明:

                urlrewrite属性:有仅只有一个.

                rule属性::至少一个

 

     urlrewrite可能引起的错误:

      1):connect java.net.ConnectException异常

 

org.tuckey.web.filters.urlrewrite.Conf ERROR:
Exception loading conf  Connection timed out:connect java.net.ConnectException:
Connection timed out: connect 

      1-R:rewrite.xml配置文件的dtd头有问题,打开urlrewrite包,查看相应的dtd版本信息。

 

      2):404错误:

      2-R:strtus2的filter-mapping一定要添加:<dispatcher>FORWARD</dispatcher>,或者在urlrewritefilter过滤器的filter-mapping中添加相应属性,如下:

<filter>
    <filter-name>urlRewrite</filter-name>
    <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>urlRewrite</filter-name>
    <url-pattern>/*</url-pattern>
    <dispatcher>REQUEST</dispatcher>
    <dispatcher>FORWARD</dispatcher>
    <dispatcher>INCLUDE</dispatcher>
</filter-mapping>
 

    本文参考了网上很多朋友的相关文章,并结合自身的特点进行了简单的汇总,在此谢谢这些朋友的文章。

    下面博客对urlrewrite进行了详细研究:

    http://blog.csdn.net/lgg201/archive/2010/02/26/5329364.aspx

 

 

 

 

 

分享到:
评论

相关推荐

    JSP使用URLRewirte实现静态 例子

    提供的"JSP使用URLRewirte实现url地址伪静态化.txt"文件可能包含了具体的配置示例和说明,而"testurl说明.txt"可能详细解释了如何测试和验证URL重写的效果。"testurl.war"是一个完整的Web应用,部署后可以实际运行...

    jsp URLRewirte地址静态化

    3. **安装与配置** - 首先,你需要从官方网站或者Maven仓库下载`urlrewritefilter-x.x.x.jar`文件,并将其放入项目的`WEB-INF/lib`目录下。 - 接着,在`WEB-INF`目录下创建`urlrewrite.xml`配置文件,编写URL重写...

    JSP使用URLRewirte实现url地址伪静态化

    1. **安装与配置URLRewriteFilter** 首先,需要下载Tuckey的URLRewriteFilter库,将其添加到项目的类路径中。在`web.xml`配置文件中,我们需要注册这个过滤器,如下所示: ```xml &lt;filter-name&gt;...

    动态网站实现假静态利用urlrewrite

    `urlrewrite.xml.bak`可能是这个配置文件的一个备份,以防在修改时出现问题可以快速恢复。而`【转】JSP使用URLRewirte实现url地址伪静态化 - major361 - JavaEye技术网站.htm`可能是一个教程或者文章,详细讲解了...

    YOLO算法-城市电杆数据集-496张图像带标签-电杆.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (177406840)JAVA图书管理系统毕业设计(源代码+论文).rar

    JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代码+论文) JAVA图书管理系统毕业设计(源代

    (35734838)信号与系统实验一实验报告

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    YOLO算法-椅子检测故障数据集-300张图像带标签.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    基于小程序的新冠抗原自测平台小程序源代码(java+小程序+mysql+LW).zip

    系统可以提供信息显示和相应服务,其管理新冠抗原自测平台小程序信息,查看新冠抗原自测平台小程序信息,管理新冠抗原自测平台小程序。 项目包含完整前后端源码和数据库文件 环境说明: 开发语言:Java JDK版本:JDK1.8 数据库:mysql 5.7 数据库工具:Navicat11 开发软件:eclipse/idea Maven包:Maven3.3 部署容器:tomcat7 小程序开发工具:hbuildx/微信开发者工具

    YOLO算法-俯视视角草原绵羊检测数据集-4133张图像带标签-羊.zip

    YOLO系列算法目标检测数据集,包含标签,可以直接训练模型和验证测试,数据集已经划分好,包含数据集配置文件data.yaml,适用yolov5,yolov8,yolov9,yolov7,yolov10,yolo11算法; 包含两种标签格:yolo格式(txt文件)和voc格式(xml文件),分别保存在两个文件夹中,文件名末尾是部分类别名称; yolo格式:<class> <x_center> <y_center> <width> <height>, 其中: <class> 是目标的类别索引(从0开始)。 <x_center> 和 <y_center> 是目标框中心点的x和y坐标,这些坐标是相对于图像宽度和高度的比例值,范围在0到1之间。 <width> 和 <height> 是目标框的宽度和高度,也是相对于图像宽度和高度的比例值; 【注】可以下拉页面,在资源详情处查看标签具体内容;

    (171674830)PYQT5+openCV项目实战:微循环仪图片、视频记录和人工对比软件源码

    内容来源于网络分享,如有侵权请联系我删除。另外如果没有积分的同学需要下载,请私信我。

    新建 文本文档.docx

    新建 文本文档.docx

    hw06.zip

    hw06

    3. Kafka入门-安装与基本命令

    3. Kafka入门-安装与基本命令

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    燃气管道施工资质和特种设备安装改造维修委托函.docx

    The state of AI 2024.pdf

    AI大模型研究相关报告

    lab02.zip

    lab02

    Unity视频插件AVPro的Win端2.2.3

    仅供学习使用,其他用途请购买正版资源AVPro Video Core Windows Edition 2.2.3 亲测可用的视频播放插件,能丝滑播放透明视频等.

    建设工程消防验收现场指导意见表.docx

    建设工程消防验收现场指导意见表.docx

    MVIMG_20241222_194113.jpg

    MVIMG_20241222_194113.jpg

Global site tag (gtag.js) - Google Analytics