Zend_Controller пытается выполнить мои таблицы стилей в качестве контроллера

Я инициализирую мои заполнители для моего глобального макета в Bootstrap.php, как описано здесь.

public function _initPlaceholders()
{
    $this->bootstrap('View');
    $view = $this->getResource('View');

    $view->doctype('XHTML11');

    $view->headTitle('Foo Bar Title')
         ->setSeparator(' :: ');

    $view->headMeta()->appendHttpEquiv(
        'content-type',
        'application/xhtml+xml; charset=UTF-8'
    );

    $view->headMeta()->appendName('robots', 'index,follow');

    $view->headLink()->appendStylesheet('/styles/styles.css', 'screen')
                     ->appendStylesheet('/styles/print.css', 'print');
}

Визуализированный HTML выглядит правильно.

<title>Foo Bar Title</title>
<link href="/styles/styles.css" media="screen" rel="stylesheet" type="text/css" />
<link href="/styles/print.css" media="print" rel="stylesheet" type="text/css" />
<meta http-equiv="content-type" content="application/xhtml+xml; charset=UTF-8" />
<meta name="robots" content="index,follow" />

Но CSS загружается неправильно, потому что Zend_Controller считает, что это контроллер или что-то в этом роде. Когда я пытаюсь открыть файлы CSS, возникает следующая ошибка:

Неустранимая ошибка: необработанное исключение "Zend_Controller_Dispatcher_Exception" с сообщением "Указан неверный контроллер (ошибка)"

Есть намеки?

[Обновить]

Хорошо, только что добавил следующую строку в мой файл.htaccess, и теперь все работает как положено...

RewriteRule!. (Js|ico|txt|gif|jpg|png|css|htc|swf|htm)$ index.php

1 ответ

Решение

Типичный макет проекта Zend выглядит примерно так:

.
|-- application
|   |-- Bootstrap.php
|   |-- configs
|   |-- controllers
|   |-- forms
|   |-- layouts
|   |-- models
|   `-- views
|-- library
`-- public
    |-- images
    |   `-- favicon.ico
    |-- index.php
    |-- js
    |   `-- scripts.js
    `-- styles
        `-- style.css

У тебя похожи? В частности, есть ли у вас файлы CSS и JavaScript где-нибудь в общей папке (а не в папке приложения)? Если да, можете ли вы просмотреть права доступа к файлам?

Также я рекомендую просмотреть права доступа к файлам. Если CSS-файлы не читаются процессом Apache, Apache не сможет их обслуживать.

Другие вопросы по тегам