http://opencms-wiki.org/Removing_the_/opencms/opencms_prefix_without_using_Apache
---------------------------------------------------------------------------------------------------------------------------------------------
第一步:去掉第一个/opencms
(方法一)
把下载来的opencms.war下的文件考到tomcat/webapps/ROOT下,运行安装。。这样第一个/opencms 自然就去掉了,不用什么力气,也不用配置什么别的,如果您不想把opencms放了ROOT目录,也可以像其它人一样,配置虚拟目录来设置,在baidu搜索一下就有很多方法去掉第一下opencms
(方法二)
在tomcat\conf\server.xml 中找到以下配置片断:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> ...... </Host>
修改以上配置,然后在<Host></Host>之间加入一行配置,最后形式如下:
<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="false" xmlValidation="false" xmlNamespaceAware="false" deployOnStartup="false"> <Context path="" docBase="C:\apache-tomcat-5.5.25\webapps\opencms" /> ...... </Host>
在tomcat\webapps\opencms\WEB-INF\web.xml 中找到以下配置片断:
<context-param> <param-name>DefaultWebApplication</param-name> <param-value>ROOT</param-value> </context-param>
把以上配置片断修改为以下形式:
<context-param> <param-name>DefaultWebApplication</param-name> <param-value>opencms</param-value> </context-param>
重新启动 Tomcat 服务,利用 http://localhost:8080/opencms 访问默认站点,如果出现如图
-------------------------------------------------------------------------
去掉第二个/opencms
第二步:去掉第二个/opencms 也是我们要处理的关键部分。
现在的任务是要去掉第二个,opencms文档中,是安装apache,并使用apache的urlrewrite模块来对项目的URL进行重定向, 现在我们要使用 urlrewrite来完成这任务,如果不知道urlrewrite的朋友,可以到http://tuckey.org/urlrewrite/下载。
注意一定要下载:urlrewrite-3.2.0.jar 版本,因为我之前使用的其它版本,没有成功。后台页面乱码。
下载完以后,把urlrewrite.zip里面的/WEB-INF/lib/urlrewrite.jar放到我们项目的/WEB-INF/lib/urlrewrite.jar里。
然后,在/WEB-INF/目录下新建一个urlrewrite.xml文件,里面的内容为:
附件一:urlrewrite.xml
<?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>^/tc-mgr/(.*)$</from> <to>/tc-mgr/$1</to> </rule> <rule> <condition type="request-uri" operator="notequal">^/export/.*$</condition> <condition type="request-uri" operator="notequal">^/resources/.*$</condition> <condition type="request-uri" operator="notequal">^/opencms-errorhandler/.*$</condition> <condition type="request-uri" operator="notequal">^/webdav/.*$</condition> <condition type="request-uri" operator="notequal">^/opencms/.*$</condition> <condition type="request-uri" operator="notequal">^/setup/.*$</condition> <from>^/(.*)$</from> <to>/opencms/$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> <init-param> <param-name>confReloadCheckInterval</param-name> <param-value>-1</param-value> </init-param> <init-param> <param-name>logLevel</param-name> <param-value>ERROR</param-value> </init-param> <init-param> <param-name>statusEnabled</param-name> <param-value>false</param-value> </init-param> <init-param> <param-name>statusPath</param-name> <param-value>/status</param-value> </init-param> </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的去除已成功。
http://nhy520.iteye.com/blog/713831 该链接方法在添加用户选择用户组 时候 会有页面路径经错误问题