我使用 SilverStripe 作为 CMS (http://www.silverstripe.com/services/why-choose-us/open-source-cms/) 而不是 Joomla 或 Drupal,这在很大程度上是一次很棒的体验至今。然而,这个问题太奇怪了,我什至不确定 SilverStripe 与它有什么关系。基本上,当标记输出到浏览器时,模板中设置的 CSS 文件的链接会丢失其前导斜杠。显然,这可能是非常有问题的。
这是相关模板中的 head 部分:
<!DOCTYPE html>
<html>
<head>
<% base_tag %>
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<meta name="viewport" content="width=720, maximum-scale=1.0" />
<title>$Title</title>
<link rel="stylesheet" type="text/css"
href="/framework/admin/thirdparty/jquery-notice/jquery.notice.css?m=1342411326" />
</head>
链接实际上是动态生成到模板中的,但我把这个链接放在自己身上以隔离问题。即使手动添加到模板中,链接标记也会以 href="framework/admin/thirdparty/jquery-notice/jquery.notice.css?m=1342411326" 结尾,原始链接减去前导正斜杠,/。有谁知道这会如何发生?不管我使用的是 Chrome、Safari 还是 Firefox,它们的行为都是一样的。
我注意到我可以通过破坏整个文档来“解决”这个问题。如果我在 之前添加一个字符<!DOCTYPE html>
,则 css 链接上的 href 将再次指向根,并带有前导斜杠。这是因为文档类型、基本标签还是两者的某种奇怪组合?
我遇到的一个奇怪的问题...