当 url 包含尾部斜杠时 CSS 不加载

标签 css google-app-engine url

我有一个正在构建并部署到 gae 的 j2ee 应用程序,由于某种原因,当我的 url 末尾有一个尾部斜杠时,CSS 不会加载。

例如:

mysite.com/account 完美运行

但是

mysite.com/account/ 加载没有 CSS 的页面

知道我能做些什么来解决这个问题吗?

CSS 样式表:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <link href="/css/rrstyles.css" rel="stylesheet">
    <link href="css/bootstrap.min.css" rel="stylesheet">
    <link href="css/grayscale.css" rel="stylesheet">
    <link href="font-awesome-4.2.0/css/font-awesome.min.css" rel="stylesheet" type="text/css">
    <link href="http://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic" rel="stylesheet" type="text/css">
    <link href="http://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css">
    <!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
        <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
        <script src="https://oss.maxcdn.com/libs/respond.js/1.4.2/respond.min.js"></script>
    <![endif]-->
    <title>My app</title>
</head>

我将此 header 作为单独的 jsp 包括在内,但是当我转到/account 而不是/account/时出于某种原因它会起作用。我不明白怎么会这样。

最佳答案

大多数 CSS 链接都有相对 URL。这意味着它们将被解释为相对于调用页面 URL 的目录。当调用者 URL 是 mysite.com/account 时,URL css/grayscale.css 被解释为 mysite.com/css/grayscale.css。但是当调用者 URL 是 mysite.com/account/ 时,CSS URL 被视为 mysite.com/account/css/grayscale.css

最简单的解决方案是在您的 URL 中使用绝对路径:

<link href="/css/grayscale.css" rel="stylesheet">

关于当 url 包含尾部斜杠时 CSS 不加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55670560/

相关文章:

python - Google App Engine 中的 Google map 上未显示标记

url - 如何在C++程序中打开URL

javascript - 使用javascript获取远程url最后修改日期

php - 在 ubuntu 中安装 Yii2 高级模板

css - 我怎样才能先省略内容的左侧?

javascript - super 鱼在页面加载时悬停

java - 如何在 appengine java 应用程序中创建包含谷歌云存储对象的 zip 存档?

css - 单击按钮时如何设置状态 Hook 和更改 css 类

CSS - 位置 :absolute behaving strangely and moving elements

symfony - 将 Symfony 4 应用程序部署到 Google App Engine 时出现安全检查器错误