我按照here所述,在 Bootstrap.php 中初始化我的全局布局占位符。
public function _initPlaceholders()
{
$this->bootstrap('View');
$view = $this->getResource('View');
$view->doctype('XHTML11');
$view->headTitle('Foo Bar Title')
->setSeparator(' :: ');
$view->headMeta()->appendHttpEquiv(
'content-type',
'application/xhtml+xml; charset=UTF-8'
);
$view->headMeta()->appendName('robots', 'index,follow');
$view->headLink()->appendStylesheet('/styles/styles.css', 'screen')
->appendStylesheet('/styles/print.css', 'print');
}
呈现的HTML看起来是正确的。
<title>Foo Bar Title</title>
<link href="/styles/styles.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/styles/print.css" media="print" rel="stylesheet" type="text/css" />
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="robots" content="index,follow" />
但CSS没有正确加载,因为Zend_Controller认为它是一个控制器或什么的。当我尝试打开CSS文件时,会发生以下错误:
致命错误:未捕获的异常 'Zend_Controller_Dispatcher_Exception' 消息'无效的控制器 指定(错误)'
任何提示?
[更新]
好的,只需将以下行添加到我的.htaccess文件中,所有内容都按预期正常工作......
重写规则 !。(JS | ICO | TXT | GIF | JPG | PNG | CSS | HTC |瑞士法郎| HTM)$ 的index.php
答案 0 :(得分:0)
典型的Zend项目布局如下所示:
.
|-- application
| |-- Bootstrap.php
| |-- configs
| |-- controllers
| |-- forms
| |-- layouts
| |-- models
| `-- views
|-- library
`-- public
|-- images
| `-- favicon.ico
|-- index.php
|-- js
| `-- scripts.js
`-- styles
`-- style.css
你的相似吗?具体来说,你是否在公共文件夹(而不是应用程序文件夹)下的某处有CSS和JavaScript文件?如果是,您可以查看文件权限吗?
另外,我建议您查看文件权限。如果Apache进程无法读取CSS文件,那么Apache将无法为它们提供服务。