【问题标题】:How to config Tomcat for case insensitive URL?如何为不区分大小写的 URL 配置 Tomcat?
【发布时间】:2012-08-04 07:40:08
【问题描述】:

我需要 URL 在 Tomcat 中不区分大小写。 我的意思是当我在浏览器的地址栏中写入时,例如“http://localhost/index.htm” 不等于 'http://localhost/INDEX.htm' 然后我得到错误,因为这个页面(INDEX.htm)没有。 我如何为不区分大小写的 URL 配置 Tomcat6? 谢谢

【问题讨论】:

  • 你知道这样做会破坏网络,对吧?
  • @ChristopherSchultz 不,它没有。在现实世界中,人们不使用区分大小写的 URL。他们也不应该。
  • @CharlesBoyung 是的,确实如此。在现实世界中,任何 URL 的方案相关部分都是区分大小写的。这是一个你可能会觉得很有启发性的例子。 homedepot.com/s/hammer?NCNI-5 在 Home Depot 的网站上找到锤子,而 homedepot.com/S/hammer?NCNI-5 给你一个 404 Not Found 响应。
  • @ChristopherSchultz 这是一个糟糕的实现。这两个都应该给你相同的结果。它没有的可用性是可怕的,因为真实的人(我所说的“真实世界”)不想担心他们输入的 URL 的情况,他们也不应该担心。在任何好的网站中,这都不重要。 smile.amazon.com/Dont-Make-Think-Revisited-Usability/dp/…smile.amazon.com/dont-make-think-revisited-usability/dp/… 都为您提供相同的产品页面,这是应该的。
  • @ChristopherSchultz 一个特定的网站做错事并不重要,而 Home Depot 做错了什么(旁注,当我在几次修订前构建 Home Depot 的网站时,URL 不区分大小写),它重要的是用户的期望,用户希望 URL 能够正常工作,无论 URL 中的字符大小写如何。

标签: url tomcat case-insensitive


【解决方案1】:

很大程度上取决于您是使用 Tomcat 还是 Apache 进行 HTML 渲染。您可以将 Apache 2.4 配置为呈现 HTML 并将 JSP 委托给 Tomcat。在这种情况下,您可以将 Apache 配置为不区分大小写。看到这个link:

通常jsp页面是通过链接引用的,所以开发者控制URL的大小写。

【讨论】:

    【解决方案2】:

    在 Tomcat 6 及更早版本中可能,但不推荐。 请参阅 apache 文档中的 Link。搜索caseSensitive。默认为true

    【讨论】:

    • 我应该在哪里设置 caseSensitive=false ?在 web.xml 和 context.xml 和 .. 中没有给我 caseSensitive 属性。
    • 请记住,它在 Tomcat 6 及以下版本中可用。在 context.xml 中设置。
    猜你喜欢
    • 2023-02-03
    • 2011-10-14
    • 1970-01-01
    • 2012-05-25
    • 2017-08-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-19
    相关资源
    最近更新 更多