#php #apache #zend-framework
#php #apache #zend-framework
Вопрос:
У меня на моем сайте WordPress запущен в корневом каталоге, т.Е.: mysite.com/
И мне нужно создать приложение ZF и разместить его в подкаталоге моего хостинга, то есть: mysite.com/backend
Я сделал это в своем корневом каталоге:
% zf создать серверную часть проекта
Он создал «внутренний» каталог под моим корневым каталогом со всем проектом внутри.
В моем корневом каталоге у меня есть этот файл .htaccess:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
В webroot / backend / public у меня есть этот .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]
Я использую ZF 1.11
Чего я не могу понять, как я должен настроить, так это файлы .htaccess, чтобы это приложение zf работало в подкаталоге.
С уважением!
Ответ №1:
В настоящее время у вас есть серверная часть папки. Итак, это выглядит
mysite.com/backend
Теперь, когда вы создаете проект с
zf create project <project name>
вы получите структуру каталогов. С этого момента index.php и .htaccess (из общей папки) в серверную папку.
Загрузите всю оставшуюся папку в ту, которая недоступна через Интернет. ie ниже корневого каталога веб-сайта (общедоступный или как вы там называете)
Измените APPLICATION_PATH в index.php внутренней папки в соответствии с тем, где сейчас находится папка вашего проекта.
С zend Framework это очень просто. Надеюсь, это поможет вам.
Может быть, вы хотите посмотреть, разрешит ли wordpress .htaccess доступ к каталогу, который уже есть.
Ответ №2:
Мне пришлось поместить этот файл .htacess внутрь mysite.com/backend
RewriteEngine On
RewriteRule !.(csv|js|gif|jpg|png|css|txt)$ public/index.php [L]
И затем в моем Bootstrap.php это:
public function run() {
$front = $this->getResource('FrontController');
$front->setBaseUrl('/backend');
}
Таким образом, Zend может маршрутизировать запросы правильным образом.