Проблемы с ZEND 1 и активами (css, images, js) — страница не найдена

Я работаю с Zend Framework 1, и все идет хорошо, кроме одного. Мой сайт не загружает ресурсы. Я знаю, что это может быть проблемой с .htaccess, но я пытался многое исправить, но безуспешно.

Моя структура папок:

|- /
|---application
|---library
|---public
|------assets
|------cgi-bin
|------images
|---resources

Мой файл .htaccess (в папке / public):

RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ index.php [NC,L]

К сожалению, когда я захожу на сайт, он загружает все, кроме файлов, которые находятся в моей папке / public / assets и / public / images. Когда я пытаюсь получить доступ к файлу через URL, ZEND возвращает мою ошибку «Страница не найдена».

Кто-нибудь знает, как я могу это исправить?

Спасибо!

1

Решение

Я предполагаю, что вы используете виртуальный хостинг и у вас нет прав на изменение записей Apache vhost. В этом случае проблема, с которой вы столкнулись, является довольно распространенной.

Одно решение, которое сработало для меня, — это то, что я называю «push-down-and-protect», в котором вы отбрасываете весь контент ZF — application, data, libraryи т. д. — в свое собственное _zf каталог как родной брат assetsвнутри вашего public каталог. Затем добавьте DENY ALL для .htaccess в этом _zf каталог и настройки путей на вашем верхнем уровне public/index.php точка входа.

Замечания: Добавление этого DENY ВСЕ в .htaccess является КРИТИЧЕСКИЕ поскольку стандартная настройка ZF имеет конфигурацию, кредиты и другие данные, которые вы не хотите, чтобы они были напрямую доступны через Интернет. Это по общему признанию недостаток этого подхода; если вы забудете защитить этот каталог, то вы широко открыты.

Этот подход является основой этот ответ и объясняется более подробно Вот.

0

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector