OpenCMS7.5 + Apache2.2+Tomcat6集成 去掉2个opencms路径

1.修改去掉第一个/opencms

1.1 将opencms安装成tomcat根路径,一般修改servlet.xml中加入:

    <Context path="" docBase="D:/tomcat-whirlpool/opencms" />


就行了。同时servlet.xml应该有具体某一个site的port配置:

 

    <Connector executor="tomcatThreadPool" proxyPort="80" proxyName="maytag.whirlpool.com"
               port="7080" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

 

1.2 修改Apache的配置文件:

 

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot "D:/gm/ghttp"
    ServerName maytag.whirlpool.com
    ErrorLog "logs/maytag-error.log"
    CustomLog "logs/maytag-access.log" common

    ProxyPass   /   http://127.0.0.1:7080/

</VirtualHost>

 

1.3 配置文件opencms/WEB-INF/config/opencms-system.xml的内容:

    <sites>
      <workplace-server>whirlpool.whirlpool.com</workplace-server>
      <default-uri>/sites/whirlpool/</default-uri>
      <site server="whirlpool.whirlpool.com" uri="/sites/whirlpool/"/>
      <site server="maytag.whirlpool.com" uri="/sites/maytag/"/>
      <site server="kitchenaid.whirlpool.com" uri="/sites/kitchenaid/"/>
    </sites>

 

此时应该能成功去掉第一个/opencms

2.修改去掉第2个/opencms

2.1配置文件/opencms/WEB-INF/config/opencms-importexport.xml

去掉${SERVLET_NAME}

 

2.2 下载http://tuckey.org/urlrewrite

urlrewrite-3.1.0.jar包放到WEB-INF/下,并且写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">

<urlrewrite>

    <rule>
        <from>^/(.*)</from>
        <to>/opencms/$1</to>
    </rule>

    <rule>
        <from>^/opencms/resources/(.*)</from>
        <to>/resources/$1</to>
    </rule>


    <rule>
        <from>^/opencms/export/(.*)</from>
        <to>/export/$1</to>
    </rule>


</urlrewrite>

3.或者不用urlrewrite ,直接用Apache的Rroxy来处理:

 

    SetEnvIf Request_URI "//opencms//*" redirect
    CustomLog logs/maytag-access.log common env=!redirect
    # Multi domain configuration: All pages in "/siteB/" are to be served from domain "siteB.org"
    ProxyPass         /opencms/   !
    RedirectPermanent /opencms/                 http://maytag.whirlpool.com/
    ProxyPass         /resources/               !
    ProxyPass         /export/                  !
    ProxyPass         /                         http://127.0.0.1:7080/
    ProxyPassReverse  /                         http://127.0.0.1:7080/



以上2种方式都只对online站点都有效,但是对offline站点处理有问题。

 

 

你可能感兴趣的:(apache,tomcat,server,servlet,domain,redirect)