-
2008-10-17
使用urlrewrite去掉/opencms/opencms/ - [opencms配置]
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://opencms.blogbus.com/logs/30326157.html
opencms文档中有关于去掉两个opencms路径的方法,但需要安装并配置apache,对于使用空间的朋友来说,这是个不小的问题,所以今天向大家介绍一下使用urlrewrite去掉opencms的方法。
我的环境是:JDK6.0 ,TOMCAT 5.5
首先我是把opencms安装在ROOT下的,这样可以在web.xml把第一个/opencms去掉,这样不会影响opencms的运行,需要注意的是,web.xml中有两处/opencms,两处均要修改。
现在的任务是要去掉第二个,opencms文档中,是安装apache,并使用apache的urlrewrite模块来对项目的URL进行重定向, 现在我们要使用 urlrewrite来完成这任务,如果不知道urlrewrite的朋友,可以到http://tuckey.org/urlrewrite/下载。
下载完以后,把urlrewrite.zip里面的/WEB-INF/lib/urlrewrite.jar放到我们项目的/WEB-INF/lib/urlrewrite.jar里。
然后,在/WEB-INF/目录下新建一个urlrewrite.xml文件,里面的内容为:
<?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">
<!--
Configuration file for UrlRewriteFilter
http://tuckey.org/urlrewrite/
-->
<urlrewrite>
<rule>
<from>^/(.*)</from>
<to>/opencms/$1</to></rule>
<rule>
<from>^/opencms/opencms/(.*)</from>
<to>/ztend/$1</to></rule>
<rule>
<from>^/opencms/resources/(.*)</from>
<to>/resources/$1</to></rule>
<rule>
<from>^/opencms/export/(.*)</from>
<to>/export/$1</to></rule>
</urlrewrite>创建好以后,打开/WEB-INF/web.xml文件,找到以下代码:
<listener>
<listener-class>org.opencms.main.OpenCmsListener</listener-class>
</listener>然后在其后面加上:
<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>至此,已完成了第二个opencms的去除,但如果此时运行项目的话,项目中的URL地址还是会有/opencms/,所以我们要把URL中的这个路径去掉。
打开/WEB-INF/config/opencms-importexport.xml
找到代码:<vfs-prefix>${CONTEXT_NAME}${SERVLET_NAME}</vfs-prefix>
将其修改为: <vfs-prefix>${CONTEXT_NAME}</vfs-prefix>
现在,第二个opencms的去除已成功。
随机文章:
满足了 2009-11-04稳、 2009-11-04一个不错的digg类程序 2008-11-16第一章 概览 [The Site Design] 2008-11-04opencms 注册 登录 个人信息插件 2008-10-17
收藏到:Del.icio.us





