我在windows vista上使用zend社区服务器。我正在遵循Keith Pope的Zend Framework 1.8一书中的教程。
$this->_view->headLink()->appendStylesheet('/css/main.css');
找不到main.css文件(404)。实际的文件路径是htdocs / myapp / public / css / main.css。当我拿出斜线并将其更改为
$this->_view->headLink()->appendStylesheet('css/main.css');
它工作正常。但是,当在zend文档中查找appendStylesheet函数的示例时,它使用示例
$this->headLink()->appendStylesheet('/styles/basic.css')
所以在我看来现在对我来说“有效”是不正确的。有关为何如此的任何想法?
答案 0 :(得分:2)
当您取出斜线时,“< base />”标记也会影响样式表的加载位置。如果基本标记不存在,则css将相对于您所在的位置加载(即:http://localhost/myapp/将在您不在包含中使用斜杠时从http://localhost/myapp/css/main.css加载css)
根据您的描述,我认为您的文档根目录指向myapp /而不是myapp / public /并且您已经获得了< base href =“”/>配置为'/ myapp /',因此实际上在不使用斜杠时从'/myapp/css/main.css'加载css。
另外,请检查文档根目录的路径。
答案 1 :(得分:0)
echo $this->baseUrl();之前
添加
echo $this->headLink();。 所以在布局中它就像
echo $this->baseUrl() . "/" . $this->headLink();
或者
希望它有所帮助。