一尘不染

在哪里将robots.txt放入tomcat 7中?

tomcat

我正在使用Tomcat 7托管我的应用程序。我已经使用了tomcat-home \ conf \ Catalina \
localhost下的ROOT.xml文件

<Context 
  docBase="C:\Program Files\Apache Software Foundation\Tomcat 7.0\mywebapp\MyApplication" 
  path="" 
  reloadable="true" 
/>

这是在根上下文中加载我的webapp。

但是,现在我对将robots.txtsitemap.xml文件放在何处感到困惑。当我放入C:\ Program Files \ Apache
Software Foundation \ Tomcat 7.0 \ mywebapp \ MyApplication下时,它没有显示。

我也尝试将其放在里面C:\Program Files\Apache Software Foundation\Tomcat 7.0\webapps\ROOT,以防万一。但是没有任何效果。我仍然找不到404。任何人都可以指导。

ps我的Web应用程序运行良好。只是我的robots.txt文件无法访问。

编辑

我的web.xml文件:

    <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>

阅读 429

收藏
2020-06-16

共1个答案

一尘不染

它应该在您的上下文目录中

mywebapp\MyApplication

只是您将拥有web-inf目录,index.html等的位置。

更新:

根据我们的讨论,所有网址均由Spring MVC DelegatingFilterProxy处理,因此您需要以某种方式从此过滤器中排除*
.txt,方法可能是扩展DelegatingFilterProxy并在web.xml中配置该过滤器

解决方案:我可以通过Spring MVC中的此hack服务静态内容:

<mvc:resources mapping="/robots.txt" location="/robots.txt" order="0"/>

救了我很多头。:)编写它以供其他人受益。

2020-06-16