【问题标题】:Relative path resolution for CSS linksCSS 链接的相对路径分辨率
【发布时间】:2014-02-08 22:16:43
【问题描述】:

我已经阅读了很多关于 http 页面中的绝对和相对路径解析的主题。不幸的是,我无法弄清楚我的情况出了什么问题......所以我在这里!

我的项目是一个基于 Spring MVC/Thymeleaf/Bootstrap 构建的 Web 应用程序。 在我的个人计算机上运行我的应用程序时,没有解决 css 链接。奇怪的是,它实际上正在另一台计算机上工作。

我的引导文件位于:webapp/css/Bootstrap.css 我在 html webapp 中的链接: <link href="css/bootstrap.css" rel="stylesheet" type="text/css"/>

在一台计算机上,链接被解析为http://localhost:8080/css/Bootstrap.css。 另一方面,链接是http://localhost:8080/myAppContext/css/Bootstrap.css

我不明白我的配置有什么问题...

这对我来说是一种魔力......来源完全相同,每台计算机上的 tomcat 版本都是相同的。 Java版本也完全一样... tomcat servlet.xml 配置没有区别。它看起来像一个谜! :)

你能帮帮我吗?

【问题讨论】:

  • <head> 处有<base> 元素吗?
  • 我没有任何 元素。

标签: html css tomcat hyperlink relative-path


【解决方案1】:

好吧,最后上帝在我耳边对我说:加个斜线...

因此,当我请求我的应用程序时使用最后一个斜杠:http://localhost:8080/myAppContext/,会找到相对路径。

编码的乐趣!

【讨论】:

    【解决方案2】:

    为此,您应该不会在发布应用程序时遇到问题,但如果它处于测试阶段,就会发生这种情况。

    【讨论】:

    • 对不起,我不明白你的意思。我不应该有麻烦,但实际上,我有。 :(
    【解决方案3】:

    试试这个:

    <link href="/css/bootstrap.css" rel="stylesheet" type="text/css"/>
    

    如果 html 页面位于“http://localhost:8080/”中,如“http://localhost:8080/index.html”,则此操作正常

    【讨论】:

    • 应用程序部署在 Apache Tomcat 服务器上。 index.html 不在 HTTP 端口之后。我的网址看起来更像:localhost:8080/myAppContext/index.html
    • 那你就可以用这个了,
    • 我不想在我的视图中使用应用上下文,因为我不希望我的控制器返回每个视图我的应用上下文名称。
    猜你喜欢
    • 2014-07-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-17
    相关资源
    最近更新 更多