2010-08-23 65 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

希望它能幫助。