这个zend框架路径如何工作?

时间:2010-08-23 13:16:49

标签: php windows apache zend-framework path

我在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')

所以在我看来现在对我来说“有效”是不正确的。有关为何如此的任何想法?

2 个答案:

答案 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(); 

或者

Git Code

希望它有所帮助。