Ammu,

On 4/18/24 09:34, lavanya tech wrote:
I am attaching server.xml and context.xml and rewrite.config files.
The paths are

/git/app/apache-tomcat-10.1.11/webapps/towl/context.xml
<Context>
     <Valve className="org.apache.catalina.valves.rewrite.RewriteValve" />
     <!-- Other context configuration -->
</Context>

This file ^^^ is in the wrong place. It should be in /git/app/apache-tomcat-10.1.11/webapps/towl/META-INF/context.xml

/git/app/apache-tomcat-10.1.11/webapps/towl/WEB-INF/rewrite.config

<RewriteCond %{HTTP_HOST} example.com [NC]
<RewriteRule ^/(.*)$ https://www.example.com:7777/example [R=301,L]

Why do you have < symbols at the beginning of these lines?

server.xml

> [...]

       <Host name="example.com" appBase="webapps" unpackWARs="true"
autoDeploy="true">
           <Context path="" docBase="towl" />

It's best not to define any <Context> in server.xml. I would remove this <Context> entirely and allow Tomcat to auto-reploy from your webapps/towl directory. If you need this application to be deployed as the ROOT context (on / and not /towl) then you should re-name /git/app/apache-tomcat-10.1.11/webapps/towl to /git/app/apache-tomcat-10.1.11/webapps/ROOT

You also don't need a <Host> for example.com as well as adding an <Alias> for the same domain (though this is probably to anonymize the configuration). You can feel free to simply use the "localhost" <Host> as the default <Host> and deploy everything into it. This makes your configuration changes relative to a stock Tomcat less significant and easier to apply to new versions if/when necessary.

-chris

On Thu, Apr 18, 2024 at 2:17 PM Christopher Schultz <
ch...@christopherschultz.net> wrote:

Ammu,

On 4/18/24 07:45, lavanya tech wrote:
I added classname rewrite valeus in contex.xml file .

      <!-- REWRITE VALVE -->
      <Valve className="org.apache.catalina.valves.rewrite.RewriteValve"
/>
      <!-- // -->

created rewrite.config so both of them is located under  conf under
apache-tomcat.


                      <RewriteCond %{HTTP_HOST} example.com [NC]
                      <RewriteRule ^/(.*)$
https://www.example.com:7777/example [R=301,L]

So according to the documentaion they say context.xml should be placed
under webapps and rewrite.config file should be put in WEB-INF folder of
apache-tomcat . I placed and restarted tomcat webserver but still it
doesnot redirect.

Can you give full paths to both server.xml and rewrite.config, re-post
your current server.xml <Context> element, and the complete contents of
rewrite.config?

Have you looked at the log files after start?

-chris

On Thu, Apr 18, 2024 at 1:36 PM lavanya tech <lavanyatech...@gmail.com>
wrote:

Hi Thomas,

Thanks for the fast response.

I added classname rewrite valeus in contex.xml file .

      <!-- REWRITE VALVE -->
      <Valve className="org.apache.catalina.valves.rewrite.RewriteValve"
/>
      <!-- // -->

created rewrite.config so both of them is located under  conf under
apache-tomcat.

So according to the documentaion they say context.xml should be placed
under webapps and rewrite.config file should be put in WEB-INF folder of
apache-tomcat

Thnks,
Ammu



On Thu, Apr 18, 2024 at 1:22 PM Mark Thomas <ma...@apache.org> wrote:

On 18/04/2024 12:05, lavanya tech wrote:
Hi Team,

I am using "Tomcat 10.1" in our environment and I wanted to redirect
url
from https://example.com to https://www.servercom:7777 and for this i
modified the server.xml as below in tomcat config, and the below
configuration doesnot seems to work. Does anyone has ideas. Please
suggest.
The url alone https://www.servercom:7777/ already works. But just
redirection from the old to one doesnot.

<Host name="example.com" appBase="app" unpackWARs="true"
autoDeploy="true">
       <Context path="" docBase="example" />
       <Alias>example.com</Alias>
       <!-- Add RewriteValve and RewriteRule here -->
       <Valve
className="org.apache.catalina.valves.rewrite.RewriteValve"/>
       <Engine name="Catalina" defaultHost="localhost">
           <Host name="example.com" appBase="app" unpackWARs="true"
autoDeploy="true">
               <Context path="" docBase="example" />
               <Alias>example.com</Alias>
               <Valve
className="org.apache.catalina.valves.rewrite.RewriteValve"/>
               <Engine name="Catalina" defaultHost="localhost">
                   <Host name="example.com" appBase="app"
unpackWARs="true" autoDeploy="true">
                       <Context path="" docBase="example" />
                       <Alias>example.com</Alias>
                       <!-- Rewrite rule to redirect to
www.servercom:8080/example -->
                       <RewriteCond %{HTTP_HOST} example\.com [NC]
                       <RewriteRule ^/(.*)$
https://www.servercom:7777/example/$1 [R=301,L]

1. That isn't valid XML.

2. Where in the Tomcat docs does it say you can nest re-write rules in
a
Host element (or any other element)?

                   </Host>
               </Engine>
           </Host>
       </Engine>
</Host>

You need to configure the RewriteValve.
https://tomcat.apache.org/tomcat-10.1-doc/rewrite.html

Mark

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to