我有Drupal 6 Site。
以下是我的网址: -
在我的page.tpl.php中,在标题
中<link rel="stylesheet" type="text/css" href="<?php echo path_to_theme(); ?>/css/bootstrap/css/bootstrap.min.css" />
现在,如果我输入网址 www.mysite.com/albums ,则会选择并呈现样式表而不会出现任何问题。
但是如果我输入网址为 www.mysite.com/albums/ (/最后)或任何内页说 www.mysite .com / albums / hindi ,缺少样式表
如果我检查页面并手动将 / 放在样式表路径中,则会再次呈现该页面。
它不仅仅是样式表的问题,还有脚本+图像。
我确实有时会在Chrome中收到警告消息
资源解释为样式表但使用MIME类型传输 text / html的
我该怎么办才能修复它?
我正在使用Drupal v6.0
答案 0 :(得分:1)
注意:社区不再正式支持Drupal 6。虽然有些地方为Drupal 6提供长期支持,但您应该计划很快转到Drupal 7或8。
您似乎有两个问题:CSS文件的路径以及Web服务器为CSS文件发送的标头。您提到的主要问题是CSS路径,因此这里的大部分信息都与此有关。
path_to_theme()
提供了一个相对于Drupal root的引用,它通常是站点根目录((>>=) (P a b) f = P x y
where ...
),但如果Drupal在子目录或其他配置中运行,则可能是其他内容。如果要对链接进行硬编码,则需要预先加base_path()
的结果。
在模块或template.php的钩子中使用drupal_add_css()
而不是硬编码tpl.php文件中的链接,你几乎总是更好。 /
允许Drupal通过其内置聚合处理您的CSS。 hook_preprocess_HOOK()
函数是添加CSS和JS文件的常用位置。
MIME类型通知可能是由于Web服务器未正确检测CSS文件并设置正确的标头。解决方法取决于您的Web服务器选择和托管环境(Google应该帮助您找到问题并修复它)。