1

I have a Tomcat 7 running on CentOS.

Given is a configuration where I have my webapp "foo" placed in webapps/foo.war. I can access it without any problems using http://host.name/foo.

Now I want to get access to the same webapp using a 2nd URL - "http://host.name/bar".

Setting up a webserver in front of my Tomcat is not an option so I need something like mod_rewrite for Tomcat.

What I have tried so far is to setup another context like this:

<Context path="/bar" docBase="foo"/>

At first it seems to work, but at the second look it shows that this isn't actually an "alias" - it is a second instance from my webapp which really is not a valid option for me.

So... does anybody know how to get some kind of aliasing or URL rewriting for Tomcat?

3 Answers 3

1
+50

There is something similar to mod_rewrite for servlet containers called URL Rewrite. Taken from SO.

3
  • Same problem. Using this config I have two seperate instances from my webapp (and so I have 2 different instance from my cache...) May 2, 2013 at 10:55
  • @pascal-schmiel I've updated my answer.
    – fuero
    May 3, 2013 at 5:42
  • I've put all the stuff in my ROOT webapp, added my rewrite rule and it's working perfect - thanks! May 3, 2013 at 14:12
1

In your special case, what about setting a symlink in your webapps directory?

Asume your directory looks like this:

ls webapps/
foo  foo.war

Just add a symlink to foo with the name bar:

ln -s foo bar

Getting this:

ls webapps/
foo  bar  foo.war
1
  • 3
    looks like a great idea. sad news: with a symlink in my webapps directory I get a second webapp instance too ("bar" directory in work/Catalina/localhost/) May 3, 2013 at 13:41
0

You might be able to find (a few exist) or write a small Java web app that reverse proxies from one URL pattern to another. See https://github.com/ahabra/reverse-proxy.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .