Where to put robots.txt in tomcat 7?
apache, java, robots.txt, sitemap, tomcat
Solution
It should be in your context directory
`mywebapp\MyApplication`
just where you will have your web-inf directory,index.html etc.
UPDATE:
As per our discussion all urls are handled by Spring MVC DelegatingFilterProxy , so you need to exclude *.txt from this filter somehow, may be by extending DelegatingFilterProxy and configuring that filter in web.xml
SOLUTION: I can server static content through this hack in Spring MVC:
<mvc:resources mapping="/robots.txt" location="/robots.txt" order="0"/>
Saved me a ton of headache. :) Writing it for anyone else to benefit from.
Problem
I'm using Tomcat 7 to host my application. I've used a ROOT.xml file under tomcat-home\conf\Catalina\localhost ``` <Context docBase="C:\Program Files\Apache Software Foundation\Tomcat 7.0\mywebapp\MyApplication" path="" reloadable="true" /> ``` This is to load my webapp in the root context. But now I'm confused as to where to put the `robots.txt` and `sitemap.xml` files. When I put in under C:\Program Files\Apache Software Foundation\Tomcat 7.0\mywebapp\MyApplication, it doesn't show up. I've also tried placing it inside `C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT` , just in case. But nothing works. I'm still getting 404 not found. Can anyone please guide. p.s. My web application runs fine. It's just that my `robots.txt` file is unreachable. EDIT My web.xml file: ``` <filter> <filter-name>springSecurityFilterChain</filter-name> <filter-class>org.springframework.web.filter.DelegatingFilterProxy </filter-class> </filter> <filter-mapping> <filter-name>springSecurityFilterChain</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> ```