Resin (3.0.27)是否可以将欢迎文件映射到Servlet?
我在Caucho文档中找不到任何不支持此功能的内容。您的帮助将不胜感激。
<servlet-mapping>
<servlet-name>td</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<welcome-file-list>
<welcome-file>index.htm</welcome-file>
</welcome-file-list>编辑:如果从我的帖子中看不出这一点,上面的说明就不起作用了。:)
编辑:如果我将index.htm放在文件系统中,servlet映射就会起作用。这就好像Resin在找不到物理文件时终止了请求。
发布于 2009-05-27 03:42:32
由于caucho_module加载其配置的方式,它很可能会忽略欢迎文件。欢迎文件映射是由servlet容器(例如,在您的例子中是Resin )完成的。但caucho_module似乎正在寻找一个明确的映射,以帮助它决定哪些可以进入Resin,哪些不能进入Resin,而不是Apache将尝试为自己服务的内容。
也许这是caucho_module中的一个错误,它没有考虑欢迎文件的处理?
如果这是真的,那么可以解决这个问题的一种方法是使用Apache的mod_rewrite将您希望映射到“欢迎文件”的URL。事实上,尝试这一点很可能证明了这一点。例如,如下所示:
RewriteEngine on
RewriteRule ^/your/url/$ /your/url/index.htm [R=permanent,L]您可能希望尝试不同版本的URL,这些URL是否以最后一个斜杠结尾...我对mod_rewrite还不够熟悉,不知道这会不会有什么不同。无论如何,这将告诉Apache告诉客户端重定向(重新加载页面到)以欢迎页面结尾的URL。如果这种事情解决了问题,那么我认为这是cacho_module中的一个错误。
作为测试可以尝试的另一件事是直接转到Resin --通常在端口8888上--绕过Apache HTTP,看看是否正确地处理了直接转到Resin欢迎页面。
https://stackoverflow.com/questions/913710
复制相似问题