Temat: ZF2 i home.pl
Paweł P.:
I masz rację, ale biorąc pod uwagę hosting współdzielony który nie umożliwia schowania katalogów wyżej i przekierowania do katalogu public, serwer musi być ustawiony tak żeby widział całą strukturę Zend'a i stąd w adresie jest /public/ (to rozwiązanie z wykorzystaniem .htaccess. Linki owszem, działają również z ukrytym folderem public w linku, ale jeszcze nie przerabiałem routera, żeby na stałe wyeliminować public ze ścieżki generowanych linków.
W takim razie wrzucasz katalogi w public_html (zabezpieczając je za pomocą .htaccess przed przeglądaniem), ustawiasz APPLICATION_PATH w config.ini, w pliku index.php wywołujesz aplikację (dla ZF2):
Zend\Mvc\Application::init(require 'config/application.config.php')->run();
lub ZF1:
<?php
// Define path to application directory
defined('APPLICATION_PATH')
|| define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/application'));
// Define application environment
defined('APPLICATION_ENV')
|| define('APPLICATION_ENV', (getenv('APPLICATION_ENV') ? getenv('APPLICATION_ENV') : 'production'));
// Ensure library/ is on include_path
set_include_path(implode(PATH_SEPARATOR, array(
realpath(APPLICATION_PATH . '/library'),
realpath(APPLICATION_PATH . '/library/vendor'),
get_include_path(),
)));
/* Zend_Loader_Autoloader */
require_once 'Zend/Loader/Autoloader.php';
/** Zend_Application */
require_once 'Zend/Application.php';
// TODO: Refactor into cached instance
// Create application configuration
$applicationConfig = array(
'config' => array(APPLICATION_PATH . '/configs/application.ini')
);
// Create application, bootstrap, and run
$application = new Zend_Application(APPLICATION_ENV, $applicationConfig);
$application->bootstrap()
->run();
i wszystko powinno śmiga bez dodatkowego '/public' w URLu...
Piotr L. edytował(a) ten post dnia 05.04.13 o godzinie 16:02