采用刚刚的方法安装OpenCMS之后,站点url中会存在两个opencms,造成访问url路径过长,下面讲解一种去掉两个opencms的方法。

1.去掉第一个opencms

安装时采用ROOT安装,即把opencms.war改名为ROOT.war放到webapp下进行安装,这样第一个/opencms就去掉了,不用配置其他任何参数。

此时的安装路径:http://localhost:8080/ setup

2.去掉第二个opencms

使用urlrewrite模块实现,步骤如下:

(1)下载urlrewrite-3.2.0.jar包,把jar包放到tomcat根目录/webapps/ROOT/WEB-INF/lib目录下;

(2)在tomcat根目录/webapps/ROOT/WEB-INF/目录下新建一个urlrewrite.xml文件,代码清单参见1;

代码清单1  tomcat根目录/webapps/ROOT/WEB-INF/urlrewrite.xml

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

<!--

Configuration file for UrlRewriteFilter

http://tuckey.org/urlrewrite/

-->

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

(3)创建完urlrewrite.xml文件后,打开tomcat根目录/webapps/ROOT/WEB-INF/web.xml文件,找到以下代码片段:

<listener>

<listener-class>org.opencms.main.OpenCmsListener</listener-class>

</listener>

然后在其后面添加过滤器配置代码,参见代码清单2;

代码清单2  tomcat根目录/webapps/ROOT/WEB-INF/web.xml:新增过滤器配置

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

(4)接下来修改tomcat根目录/webapps/ROOT/WEB-INF/config/opencms-importexport.xml,找到如下的配置代码片段:<vfs-prefix>${CONTEXT_NAME}/${SERVLET_NAME}</vfs-prefix>,删除其中的/${SERVLET_NAME},即最终修改为:

<vfs-prefix>${CONTEXT_NAME}</vfs-prefix>

至此,第二个/opencms去除成功,记得修改完毕后重启Tomcat服务器,首页地址如下:

http://localhost:8080/ index.html

OpenCMS后台工作区的登录页面链接地址如下:

http://localhost:8080/ system/login/

url路径去掉两个opencms的更多相关文章

  1. 根据url路径获取图片并显示到ListView中

    项目开发中我们需要从网络获取图片显示到控件中,很多开源框架如Picasso可以实现图片下载和缓存功能.这里介绍的是一种简易的网络图片获取方式并把它显示到ListView中. 本案例实现的效果如下: 项 ...

  2. (转载)phpcms v9两步实现专题栏目生成路径去掉html和special

    相信很多人都知道,phpcms v9专题是不支持自定义URL的,生成的专题路径是以/HTML/special/开头的.那么如何实现专题栏目生成路径去掉html和special呢?通过修改程序的PHP源 ...

  3. django url路径与模板中样式相对路径的问题

    static目录下有css和js及image等文件夹,里面放置网站的一些静态文件,static位于网站根目录下,django中配置静态文件这个就细说,网上都有,昨天在添加新内容时发现一个问题,我的ur ...

  4. MT写的对URL操作的两个方法

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  5. 48-设置tomcat虚拟路径的两种方法(Eclipse、tomcat、IDEA)

    设置tomcat虚拟路径的两种方法(Eclipse.tomcat.IDEA) 三种方式设置虚拟服务器路径如果我们要实现一个上传文件的功能,但是又想要上传的文件不会随着自己web服务器的重启而不能访问了 ...

  6. 将map中的查询参数拼装到URL路径中

    被调接口的URL路径: //被调接口url String apiUrl = "http://api.open.xxxxxx.com/implatform/interview/send?acc ...

  7. url 路径的拼接

    url  路径的拼接 刚开始做项目总是被路径所困扰,不知道何时该拼接,何时不拼接,怎么拼接,如何拼接,有像地址栏拼接一样的,又在跳转页面拼接的,还有在 a 标签中 href 中拼接的 ,当时做的时候一 ...

  8. magento的url中 去掉多余的目录层级

    有时我们需要仅仅显示一层目录的URL路径.而不要出现多个路径的现实,我们可以用以下方法修改: Edit  /app/code/core/Mage/Catalog/Model/Url.php 找到632 ...

  9. paip.解决中文url路径的问题图片文件不能显示

    paip.解决中文url路径的问题图片文件不能显示 #现状..中文url路径 图片文件不能显示 <img src="img/QQ截图20140401175433.jpg" w ...

随机推荐

  1. Java数据持久层框架 MyBatis之API学习六(Mapper XML 文件详解)

    对于MyBatis的学习而言,最好去MyBatis的官方文档:http://www.mybatis.org/mybatis-3/zh/index.html 对于语言的学习而言,马上上手去编程,多多练习 ...

  2. java基础复习1

    jre:Java运行环境 jdk:Java开发工具(包含jre) java两大机制:JVM (java虚拟机) 垃圾回收 变量的分类: 1.按数据类型分: 1)基本数据类型:8种 整型:byte sh ...

  3. Java进阶篇(五)——Java的I/O技术

    程序中,为了永久的保存创建的数据,需要将其保存在磁盘文件中,以便在其它程序中使用它们.Java的I/O技术可以将数据保存到文本文件.二进制文件甚至是ZIP压缩文件中,以达到永久性保存数据的要求. 本篇 ...

  4. Django 中 makemigrations、migrate时 No changes detected

    Django创建的项目中,需要更改.增加.删除表中的某些属性,性急直接把之前数据库表删除了,之后再执行: python manage.py makemigrations python manage.p ...

  5. 通俗易懂的分析如何用Python实现一只小爬虫,爬取拉勾网的职位信息

    源代码:https://github.com/nnngu/LagouSpider 效果预览 思路 1.首先我们打开拉勾网,并搜索"java",显示出来的职位信息就是我们的目标. 2 ...

  6. 【转】matlab图形句柄详解(一)

    在matlab中,每一个对象都有一个数字来标识,叫做句柄.当每次创建一个对象时,matlab就为它建立一个唯一的句柄,句柄中包含有该对象的相关信息参数,可以在后续程序中进行操作,改变其中的参数,以便达 ...

  7. 【转】linux grep命令

    1.作用 Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来 2.格式 grep [options] 3.主要参数 [options]主要参数: - ...

  8. plus、max、Pro、Edge

    plus.max.Pro.Edge等后缀到底什么意思? Plus:比好更好.比牛X更牛X 译成中文是:加.和.正的-的意思.比如oneplus中文名就是一加.用于手机命名表示配置更加牛X,最早是由iP ...

  9. JVM类加载机制---类加载器

    一.概念 "通过一个类的全限定名来获取描述此类的二进制字节流",实现这个动作的代码模块成为 类加载器. 二.分类 从java开发人员的角度出发,系统提供的类加载器大致分为如下3类: ...

  10. Spring MVC Mock demo

    package com.niwodai.mem.web.controller; import com.alibaba.fastjson.JSON; import org.junit.Before; i ...