Запуск Zend Framework в подпапке - Проблемы с контроллером по умолчанию - PullRequest
2 голосов
/ 04 июля 2011

Я запускаю приложение Zend, и мне нужно поместить его в подпапку, например:

  • / subfolder
    • application
    • public ...

Я сделал следующее:

  1. Я установил базовый URL в application.ini:
resources.frontController.baseUrl = "/subfolder"
  1. Я переместил .htaccess из общей папки прямо в / подпапку, изменив htaccess следующим образом:
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^.*$ public/index.php [NC,L]

Этовсе что я сделалИ все работает как положено.Я могу добавить блог контроллера с видом действия и получить к нему доступ, позвонив по номеру:

/ subfolder / blog / view

помощник по просмотру URL и другие вещи тоже работают правильно.Единственное, что не работает, это контроллер по умолчанию.Поэтому, когда я ввожу:

/ subolder /

, я получаю 403 (запрещено).Если я введу

/ подпапку / индекс

... это работает.Чего мне не хватает?!

Заранее спасибо!TeeBee

Ответы [ 2 ]

0 голосов
/ 05 июля 2011

вам не нужно вносить какие-либо изменения в общую папку zf, просто создайте файл .htaccess в каталоге "/ subfolder" со следующими строками

# Rewrite rules
RewriteEngine on
RewriteRule (.*) ./public/$1
0 голосов
/ 05 июля 2011

Заменить RewriteRule ^. $ public / index.php [NC, L] с RewriteRule ^. $ http://addressto/index.php [R = 302, NC] или же RewriteRule ^. * $ /Public/index.php [NC, L]

Я не уверен, правильно ли помещать в общедоступную папку папки ZF, отличные от общедоступных. Это наложит ваш сайт на недостатки безопасности. Вы должны поместить содержимое общедоступной папки ZF в общедоступную папку вашего сервера и поместить другие папки в общедоступную папку. Если вам требуется более одного экземпляра приложения ZF, вы можете использовать систему модулей Zend. Пожалуйста, обратитесь к zend online документация для более подробной информации.

...