Thanks Charles for encouraging me dig a bit more into this.

Yes, my webapp is the root of a VirtualHost. I've figured out what is going on now.

The VirtualHost is very simple:

<Host name="host.domain.tld" appBase="/home/scott/sites/host.domain.tld" unpackWARs="true">
   <Valve className="org.apache.catalina.valves.AccessLogValve"
                  directory="logs"
                  prefix="host.domain.tld_access_log."
                  suffix=".txt"
                  pattern="common"/>
</Host>

In the directory /home/scott/sites/host.domain.tld there are *two* directories, ".svn" and "ROOT".

When I went to http://host.domain.tld/.svn/entries I was actually getting the subversion entries file from the top level .svn directory, not "ROOT/.svn". This is why my filter did not see the URL. If I rename the .svn directory at the top level directory and then go to the exact same URL my filter is now called as expected.

The docs (at http://tomcat.apache.org/tomcat-6.0-doc/config/host.html#Automatic%20Application%20Deployment) tell me (now that I've read them a bit more) that Tomcat is doing exactly what I'm telling it to - it is automatically deploying the top level .svn application because it is a directory under the appBase. I currently have no Context's explicitly defined and it looks like I should use a combination of setting |deployOnStartup| to false in the Host element and then have explicit Context elements defined. This should prevent the automatic application deployment for my top level .svn directory and subsequently let my filter work for the .svn directories in ROOT.

Again, thanks for the help.


Caldarale, Charles R wrote:
From: Scott Dunbar [mailto:sc...@xigole.com]
Subject: Re: Any way to filter URL's with a dot in the directory name?

No, I specified /* as my url-pattern:
and my filter is not called when the URL is
http://www.hostname.tld/.svn/entries

Is your webapp deployed as ROOT?  If not, what is the default webapp?  It would 
be useful to see your entire WEB-INF/web.xml and your META-INF/context.xml, and 
the deployment location of your webapp.

The servlet spec is weird here and the url-pattern in a
web-resource-collection.  The "." has special meaning that
seems to indicate a file extension, not a directory.

Only in a <url-pattern> (not the URI itself), and only in conjunction with a 
leading asterisk.

 - Chuck


THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY 
MATERIAL and is thus for use only by the intended recipient. If you received 
this in error, please contact the sender and delete the e-mail and its 
attachments from all computers.


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



--
Scott Dunbar
Xigole Systems, Inc.
Enterprise consulting, development, and hosting
303·667·6343

Reply via email to