2010-08-23 79 views
1

我在Windows Vista上使用zend社区服务器。我正在关注Keith Pope在Zend Framework 1.8这本书中的教程。这个zend框架路径如何工作?

$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') 

所以,在我看来是什么,现在“作品”对我来说是不正确。任何想法,为什么这是如此?

回答

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

谢谢!是的,文档根目录被设置为myapp而不是公共 – Matt 2010-08-25 10:02:17

0

在输出

 echo $this->headLink();
之前添加
 echo $this->baseUrl();
。 所以在布局就会像

 echo $this->baseUrl() . "/" . $this->headLink();

或者

Git Code

希望它能帮助。