6 Replies Latest reply on Jan 4, 2006 1:48 PM by Jess Lee

    Apache 2.0.52 - JBoss 4.0 RewriteRule problem

    beyarecords Novice

      Hi,
      it seems the cause of my problem is the RewriteRule lines I have specified in my Apache http.conf file. In my workers2.properties file I have the following line:

      [uri:/cocoon/mysite/*] (note: cocoon/mysite is situated inside JBoss 4.0.0 as /server/default/deploy/jbossweb-tomcat50.sar/cocoon.war/mysite)
      group=lb

      which enables me to access my website via :80 by saying:

      http://www.mysite.com/cocoon/mysite/login.xml

      Doing this works fine and you can browse from one page to another and all sessions are maintained. The problem starts when I try and do:

      http://www.mysite.com/login.xml

      which I have catered for in my http.conf file by defining a number of RewriteRule lines:

      RewriteEngine on

      RewriteRule (.*)\.xml$ cocoon/mysite/$1.xml [P]
      RewriteRule (.*)\.xsl$ cocoon/mysite/$1.xsl [P]
      RewriteRule (.*)\.kont$ cocoon/mysite/$1.kont [P]
      RewriteRule (.*)\.jxt$ cocoon/mysite/$1.jxt [P]
      RewriteRule (.*)\.xsp$ cocoon/mysite/$1.xsp [P]
      RewriteRule (.*)\.css$ cocoon/mysite/$1.css [P]
      RewriteRule (.*)\.js$ cocoon/mysite/$1.js [P]
      RewriteRule (.*)\.mp3$ cocoon/mysite/$1.mp3 [P]
      RewriteRule (.*)\.m3u$ cocoon/mysite/$1.m3u [P]
      RewriteRule (.*)\.jpg$ cocoon/mysite/$1.jpg [P]

      When I type in http://www.mysite.com/login.xml the page loads fine, and in the process creates a session to maintain flow global variables. When you then try and select any other page which requires you to have been logged in first, it seems the page has lost scope/context/domain! and acts a if you have come to the site for the first time and so redirects you straight back to the login.xml page. But as I have said before typing http://www.mysite.com/cocoon/mysite/login.xml works fine and I can navigate from page to page no problem.

      It also seems that the site is unable to grab any data from Apache which has not been defined in the RewriteRules.

      Does anybody have a solution for this?

      many thanks in advance

      Andrew