Я думаю, что самое простое, что вы можете сделать, чтобы это заработало, это:
Начните с нового проекта ZF или удалите все ваши Zend-маршруты и любую специальную конфигурацию в .htaccess или httpd.conf / httpd-vhosts.conf, которые вы создали.
Избавьтесь от опций baseUrl, которые вы установили в своем конфигурационном файле.
Поместите файл index.php и файл .htaccess в папку /HTDOCS/tricell/tricell/public_html/tricell
.
Поместите остальную часть вашего проекта (контроллеры, модели, конфигурации и т. Д.) За пределы вашего корневого веб-каталога. В этом примере я предполагаю, что они помещены в /HTDOCS/tricell/tricell/zfproject
.
Отредактируйте index.php и измените:
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../application'));
// to:
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../../zfproject/application'));
Теперь ваше приложение будет работать с базовым каталогом yoursite.com/tricell
.
URL
IndexController.php будет http://yoursite.com/tricell/index
Вам не нужно делать ничего особенного, чтобы сообщить Zend, что ваш базовый URL-адрес - "tricell". Просто убедитесь, что в ваших скриптах вида используется $this->baseUrl()
для ваших путей, чтобы вам не приходилось беспокоиться о ручном добавлении / tricell в начало всего, и если вы когда-нибудь переместите свой проект в другой каталог / путь, ничего не нужно быть изменены, чтобы иметь дело с новыми путями.