去掉第一个opencms:
第一种方法、安装时采用配置虚拟目录来安装,即把opencms.war放到webapp目录下进行安装。
在D:\Program Files\Apache Software Foundation\Tomcat 6.0\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="D:\Program Files\Apache Software Foundation\Tomcat 6.0\webappswebapps\opencms" />
......
</Host>
然后在\Tomcat6.0\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 访问默认站点
第二种方法、安装时采用ROOT安装。
即把opencms.war改名为ROOT.war放到webapp下进行安装。这样第一个/opencms 自然就去掉了,不用什么力气,也不用配置什么别的。
去掉第二个opencms:
第一种方法、配置apache。直接用Apache的Rroxy来处理
1、在D:\Program Files\Apache Software Foundation\Apache2.2\conf\httpd.conf中找到
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
这两项,然后把前边的#去掉,修改后为
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
2、然后在\conf\http.conf文件的结尾追加以下配置片断!(路径为你tomcat的实际安装路径)
NameVirtualHost *:80
<VirtualHost *:80>
<Directory "D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/opencms/">
Order allow,deny
Allow from all
</Directory>
ServerName localhost
ServerAdmin
[email protected]
DocumentRoot "D:/Program Files/Apache Software Foundation/Tomcat 6.0/webapps/opencms/"
ErrorLog logs/error.log
SetEnvIf Request_URI "\/opencms\/*" redirect
CustomLog logs/localhost-access.log common env=!redirect
ProxyPass /opencms/ !
RedirectPermanent /opencms/ http://localhost/
ProxyPass /resources/ !
ProxyPass /export/ !
ProxyPass / http://localhost:8080/opencms/
ProxyPassReverse / http://localhost:8080/opencms/
</VirtualHost>
3、然后在\Tomcat 6.0\webapps\opencms\WEB-INF\config\opencms-importexport.xml中找到
<vfs-prefix>${CONTEXT_NAME}${SERVLET_NAME}</vfs-prefix>
删除其中的${SERVLET_NAME},修改后为
<vfs-prefix>${CONTEXT_NAME}</vfs-prefix>
然后在\Tomcat 6.0\webapps\opencms\WEB-INF\config\opencms-system.xml中找到
<sites>
<workplace-server>http://localhost:8080</workplace-server>
<default-uri>/sites/default/</default-uri>
<site server="http://localhost:8080" uri="/sites/default/"/>
</sites>
删除其中的:8080,修改后为
<sites>
<workplace-server>http://localhost</workplace-server>
<default-uri>/sites/default/</default-uri>
<site server="http://localhost" uri="/sites/default/"/>
</sites>
在\Tomcat 6.0\conf\server.xml中找到
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
修改配置为下面这样
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
proxyName="localhost" proxyPort="80"/>
6、重启apache和tomcat在网页地址栏输入http://localhost即可
【备注:小崔的opencms内容管理入门指南中第五步的内容是tomcat以前的版本的修改,tomcat6.0的server.xml中按照我的教程修改就可以了。再者就是这样修改了apache服务器的配置,使得apache和tomcat绑定在了一起,在地址栏输入http://localhost默认的端口号已经是8080了,而不绑定前apache的端口号是80,所以我原先做的WAMP环境下的网站无法打开】
第二种方法、使用urlrewrite实现。
如果不知道urlrewrite的朋友,可以到http://tuckey.org/urlrewrite/ 下载。 注意一定要下载:urlrewrite-3.2.0.jar 版本,因为我之前使用的其它版本,没有成功。后台页面乱码。 1、下载完以后,把urlrewritefilter-3.2.0.zip里面的/WEB-INF/lib/urlrewrite-3.2.0.jar放到opencms/WEB-INF/lib/里。 2、在opencms/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、创建好以后,打开/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>
打开/WEB-INF/config/opencms-importexport.xml
找到代码:<vfs-prefix>${CONTEXT_NAME}${SERVLET_NAME}</vfs-prefix>
删除其中的${SERVLET_NAME},修改为: <vfs-prefix>${CONTEXT_NAME}</vfs-prefix> 5、现在,第二个opencms的去除已成功。重启服务器在浏览器中输入http://localhost:8080即可访问opencms。
【用这种方法没有改端口号,所以得在地址栏中输入http://localhost:8080。】
【上面的几种方法我都是亲自测试过的。如果你有什么问题可以联系我:
QQ:531621011
MSN:
[email protected]】