这个zend框架path如何工作?

我在Windows Vista上使用zend社区服务器。 我正在关注Keith Pope在Zend Framework 1.8中的教程。

$this->_view->headLink()->appendStylesheet('/css/main.css'); 

没有findmain.css文件(404)。 实际的文件path是htdocs / myapp / public / css / main.css。 当我拿出斜线,并改变它

 $this->_view->headLink()->appendStylesheet('css/main.css'); 

它工作正常。 但是,在zend文档中查找appendStylesheet函数的示例时,它使用示例

 $this->headLink()->appendStylesheet('/styles/basic.css') 

所以在我看来,现在“为我工作”是不正确的。 任何想法,为什么这是这样的?

当你取出斜线时,“<base />”标签也会影响样式表的加载位置。 如果基本标签不存在,那么CSS将会相对于你所在的位置加载(例如: http:// localhost / myapp /将会从http://localhost/myapp/css/main.css加载css包括不使用斜线)

从你的描述来看,我认为你的文档根目录是指向myapp /而不是myapp / public /,你已经将你的<base href =“”/>配置为'/ myapp /',因此实际上是从'/ myapp / css / main.css“时不使用斜杠。

另外,请检查文档根目录的路径。

  echo $ this-> baseUrl(); 

在输出之前

  echo $ this-> headLink(); 

。 所以在布局上就像

  echo $ this-> baseUrl()。  “/”。  $这 - > headLink(); 

要么

Git代码

希望能帮助到你。