On 10/17/2016 10:36 AM, Rainer Jung wrote:

Alias maps URIs to local file system directories.
JkMount maps URIs to remote back end requests.

You can not change JkMount forwarding using Alias (except that if you have a comflict between Alias and JkMount only one of them wins).

As far as I understand you are not really trying to map requests to the local web server file system, but instead want to forward to a Tomcat back end but change the URI path which is used when accessing Apache to something else being used to acces Tomcat. E.g. the URI /jsp-examples/something gets used when accessing Apache and mod_jk should send this request as /examples/jsp/something to the Tomcat back end.

If you really need to change URIs, then often mod_proxy is much easier to set up, because it has specific directives for this (ProxyPass etc.).

With mod_jk you would first need to use mod_rewrite RewriteRules to change the URI, and then JkMount to forward them. More details can be found at


The rest of this docs page might be useful as well.



Thanks a million Rainer, you got me over that hump! I have it working now but have another question - When the response is generated for a request, that used the alias in the URL, is there a way to keep the client browser from displaying what the alias got mapped to?

So for example, if I use the alias in the URL - http://www.mydomain.com/jsp-examples that I send to the Apache server, and it in turn forwards that request to Tomcat as http://www.mydomain.com/examples/jsp, I would prefer that the response, sent back to the user, contains the original, aliased or unaliased, version of the URL that he/she typed, and not just the resolved version. As it stands I am always getting the response URL of http://www.mydomain.com/examples/jsp displayed in the client browser.

What follows is my current version of the config file that I am using for the jsp-examples. Seems to be working mostly OK, so hopefully I am on the right track. FYI - I intend to include these config files in various virtual hosts configurations each of which have their own document root, hence the reason for the Alias commands at the beginning of this config file.

Thanks again in advance for any and all offers of help, thoughts, and replies...


  # The following line makes apache aware of the location of
  # the /jsp-examples context
  Alias /examples/jsp "/srv/tomcat/webapps/examples/jsp"
  Alias /jsp-examples "/srv/tomcat/webapps/examples/jsp"

  <Directory "/srv/tomcat/webapps/examples/jsp">
        Options Indexes  FollowSymLinks
        AllowOverride None
    # Controls who can get stuff from this server.
    <IfModule !mod_access_compat.c>
            Require all granted
    <IfModule mod_access_compat.c>
        Order allow,deny
        Allow from all

  <Directory "/srv/tomcat/webapps/examples/jsp/WEB-INF/">
    # AllowOverride None
    <IfModule !mod_access_compat.c>
            Require all denied
    <IfModule mod_access_compat.c>
        deny from all

  <IfModule mod_rewrite.c>
         RewriteEngine On
         RewriteRule "^/jsp-examples" "/examples/jsp" [PT]

  <IfModule mod_jk.c>
        # Mounted stuff goes via tomcat (ajp13)
        #  JkMount /jsp-examples tomcatWorker1
        #  JkMount /jsp-examples/* tomcatWorker1
        JkMount /examples/jsp tomcatWorker1
        JkMount /examples/jsp/* tomcatWorker1
        # Serve html, css, js, jpg, png and gif using Apache
        JkUnMount /*.html tomcatWorker1
        JkUnMount /*.css tomcatWorker1
        JkUnMount /*.js tomcatWorker1
        JkUnMount /*.jpg  tomcatWorker1
        JkUnMount /*.png  tomcatWorker1
        JkUnMount /*.gif  tomcatWorker1

"The Truth is out there" - Spooky

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

Reply via email to