Hi André, So, based on your explanation below, Tomcat can actually have more than one default application? It can have one for each and every <Host>? This is most interesting. I had assumed that the default application had to be installed at webapps/ROOT (or anywhere else the default host's appBase happened to be).
Chris. > Christopher Dodunski wrote: >> Hi, >> >> Thanks, but I'm not quite clear on how to direct Tomcat to call the ROOT >> application for a given domain. I added the bottom <Host> element to >> server.xml, but it doesn't appear to work correctly. >> >> <Engine name="Catalina" defaultHost="localhost"> >> <Host name="localhost" appBase="webapps" unpackWARs="true" >> autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> >> </Host> >> <Host name="blog.christopher.net.nz" appBase="webapps/ROOT" /> >> </Engine> >> >> Previously, the URL http://blog.christopher.net.nz/christopher called up >> webapps/christopher, when it should instead have been handled by Apache >> Roller running with ROOT context. Now that I have added the above >> directive, Tomcat reports "The requested resource () is not available". >> >> The URL http://blog.bread.co.nz/bread is handled by Roller, as intended, >> because there is no competing application at webapps/bread. >> > It is difficult to respond clearly to your questions, because they seem to > be based on the > wrong premises, and/or they are confusing as to what you are really trying > to achieve. > We also have no idea what the ROLLER application is, and how itself needs > to be set up. > > But here are some basic principles : > > 1) this line : > <Engine name="Catalina" defaultHost="localhost"> > indicates which one of your <Host> below, is the default host. > The default Host is the one which will handle any request which arrives at > this server, > and for which the hostname does not match one of the other <Host> tags. > In you case thus, this > <Host name="localhost".. > is the default Host. > > 2) each separate Host should have a separate "appBase", not overlapping > the others. > So, having one Host with appBase="webapps", and another Host with > appBase="webapps/xxxx" > is a nono, you should not do that. > Create another directory, for example (tomcat_dir)/webapps-blog, and use > that one to put > the applications related to your host blog.christopher.net.nz, like > <Host name="blog.christopher.net.nz" appBase="webapps-blog" /> > (You can also define this directory totally outside the hierarchy of the > main Tomcat, like > at /var/websites/blog.christopher.net.nz, and then use > <Host name="blog.christopher.net.nz" > appBase="/var/websites/blog.christopher.net.nz" /> > > 3) within each "applications base" (appBase), each application will > correspond to a > directory, with the same name as the application. > So for example, under (tomcat_dir)/webapps/, you can have one application > called "app1" > and another called "app2", for a structure like this > tomcat_dir/webapps/ > app1/ > app2/ > > 4) To call any of these applications, you will use a URL like : > http://host-name/app1 > http://host-name/app2 > etc.. > > 5) the special name "ROOT" is reserved for the "default application" > within a Host. > That is the application which users would get if they simply entered > http://host-name/ > > So, to modify the structure given above so that there would be, in > addition to app1 anbd > app2, a default application, you would have : > > a) a file structure like this : > tomcat_dir/webapps/ > ROOT/ > app1/ > app2/ > and users could ask for : > > http://host-name/ (to get the default application) > http://host-name/app1 (to get the app1 application) > http://host-name/app2 (to get the app2 application) > > Does this clarify things ? > > > --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org