как удалить "public /" из http://localhost/myscript/public/ в Zend Framework - PullRequest
1 голос
/ 23 сентября 2010

По умолчанию мой скрипт доступен по этому URL http://localhost/myscript/public/. Но мне нужно получить к нему доступ по этому URL http://localhost/myscript/. Как я могу сделать это в Zend Framework.

Ответы [ 3 ]

1 голос
/ 25 сентября 2010

просто создайте виртуальный хост с помощью вашего веб-сервера и настройте его для использования папки «public» в качестве корневого документа, и вы будете в порядке и в безопасности.

1 голос
/ 23 сентября 2010

«Общая» папка является важной ключевой функцией Zend Framework, поскольку она ограничивает Apache только чтением файлов в этом каталоге и, при правильном использовании, оставит весь ваш другой код вне публичного доступа. Если вы действительно подаете заявку целиком и вам нужно сделать /public/index.php, чтобы добраться туда, куда вы хотите, вы должны знать об этом.

Как правило, в конфигурации общего хостинга у вас будет общая папка для вашего сайта, и вы отделяете свою общую папку от остальной части вашего приложения. Скажем, например, у вас есть папка «public_html» в вашем каталоге, и это видимая папка для вашего домена. Затем, следуя этой логике, вместо того, чтобы помещать все, что вы хотели в свой домашний каталог, вы «устанавливаете» свое приложение в пользовательский подкаталог с именем «zend_app». Вы должны скопировать файлы из «public» в папку «public_html», скопировать остальные файлы в папку «zend_app» и соответствующим образом настроить файл index.php, например:

// Define path to application directory
defined('APPLICATION_PATH')
    || define('APPLICATION_PATH', realpath(dirname(__FILE__) . '/../zend_app/application'));

Большая часть другой конфигурации Zend получена из этого определения, поэтому его можно безопасно построить. Если вы учитываете это при настройке приложения, вы можете помочь сохранить эту мобильность. Теоретически, используя это, вы сможете создать конфигурацию, которая будет работать для ваших нужд.

0 голосов
/ 23 сентября 2010

просто поместите все файлы из общей папки в корневую папку.

, затем откройте index.php или bootstrap.php, где у вас есть этот код

set_include_path(‘.’
        . PATH_SEPARATOR . get_include_path()
        . PATH_SEPARATOR . ‘../library’
        . PATH_SEPARATOR . ‘../application/classes/’
        . PATH_SEPARATOR . ‘../application/models/’

, и изменитеэто к этому

set_include_path(‘.’
        . PATH_SEPARATOR . get_include_path()
        . PATH_SEPARATOR . ‘library’
        . PATH_SEPARATOR . ‘application/classes/’
        . PATH_SEPARATOR . ‘application/models/’

, но проверьте и другие патчи, как этот.

require_once 'Zend / Controller / Front.php';

Получил этот урок отэта страница :) http://www.fincha.com/blog/2010/tutorial-zf-public-verzeichnis-umgehen-nicht-verwenden/

На немецком ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...