Zend Framework в подкаталоге на виртуальном хостинге - PullRequest
1 голос
/ 12 июля 2011

Сейчас я использую zf v.1.10. Для развертывания я должен загрузить свой проект в подкаталог на общем хостинге . Если домен www.mycompany.co.id, то адрес моего проекта будет www.mycompany.co.id / myproject / . В каталоге myproject я поместил файл htaccess так:

RewriteEngine on

RewriteRule ^(.*)$ /myproject/public/$1

RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^.*$ - [NC,L]
RewriteRule ^public/.*$ /myproject/public/index.php [NC,L]

и в публичный каталог я поместил файл htaccess так:

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

и вот мое application.ini:

[production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.frontController.params.displayExceptions = 1
resources.frontController.baseUrl = "/myproject"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.view.doctype = "XHTML1_TRANSITIONAL"
autoloadernamespaces.cal = "Cal_"
autoloadernamespaces.box = "Box_"
autoloadernamespaces.report = "Report_"
resources.db.adapter = PDO_MYSQL
resources.db.params.host = localhost
resources.db.params.username = uname
resources.db.params.password = p4ssw0rd
resources.db.params.dbname = myprojct

Я реализовал zend_auth и zend_acl в моем проекте, поэтому на первой странице будет отображаться форма входа.
Проблема в том, что когда я выполнил форму входа в систему, нет ответа.
Форма входа будет направлена ​​(действие установлено на) «аутентификация» контроллера и «логинаут» действие.
Я попытался повторить что-то в логине «action», но оно все равно отображало форму входа.
В то время как на моем локальном компьютере (Windows) все работает хорошо.
Пожалуйста, дайте мне совет .. спасибо

1 Ответ

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

Если вы используете Zend_Form:

Вам, вероятно, придется "сказать" Zend_Form использовать ваш контроллер baseUrl. Попробуйте использовать подкласс Zend_Form и переопределить метод setAction ().

В качестве альтернативы вы можете использовать мутатор setAction () из вашего экземпляра формы.

...