Zend Framework и Drupal в одном домене - PullRequest
1 голос
/ 29 июня 2009

У меня есть небольшое приложение, написанное на Zend Framework, которое я хочу встроить в Drupal Page. Оба приложения (ZF и Drupal) расположены в одном домене.

Но, насколько мне известно, ZF требует установки в корне сервера, где у меня уже есть Drupal. Меня беспокоит то, что контроллер ZF будет неправильно обрабатывать запросы страниц Drupal как плохие запросы контроллера.

Может ли быть простое решение, чтобы предотвратить этот конфликт? Может быть, было бы проще переписать приложение для менее ограничительной структуры, но мне нужно проверить, что я взвесил все варианты.

Заранее спасибо, поскольку StackOverflow оказался действительно полезным ресурсом, и я планирую выделить некоторое время, чтобы помочь людям в сфере моей компетенции

Ответы [ 4 ]

3 голосов
/ 30 июня 2009

Обратите внимание, что уже существует модуль интеграции Zend Framework для Drupal . Его использование, как правило, решает проблемы с путями.

1 голос
/ 30 июня 2009

Я запустил определенные URL-адреса для системы на основе ZF и разрешил остальным вернуться к index.php. Это был пользовательский код, а не установка Drupal, но я не вижу, чтобы это имело какое-то значение.

Вот как я это сделал с файлом .htaccess:

### Zend Framework for main site, the rest fallback to /index.php
RewriteEngine on
RewriteBase /
# Not if there is a file or directory that matches
RewriteCond %{REQUEST_FILENAME}       !-f
RewriteCond %{REQUEST_FILENAME}       !-d

RewriteRule ^register /?mod=register&    [QSA,L]
# ... and other rewrite aliases to index.php

# Alternates that redirect
RewriteRule ^friend/(.*) /friends/$1  [R=301,L]
RewriteRule ^members$ /member/        [R=301,L]

# These URLs are handled by ZF
RewriteRule ^member(.*)$ /zf.php      [L]
RewriteRule ^friends /zf.php          [L]
RewriteRule ^about/ /zf.php           [L]
RewriteRule ^faq /zf.php              [L]

Как вы должны видеть, загрузчик Zend Framework находится в /zf.php, а не в обычном /index.php

.
0 голосов
/ 30 июня 2009

Это может быть не особенно полезно для вас. Но есть ли что-то конкретно, для чего вам нужен Zend. Drupal сам по себе довольно хороший фреймворк. Я рискнул бы предположить, что попытка получить два работающих бок о бок было бы большим усилием, чем это стоит, поскольку это довольно нестандартно.

0 голосов
/ 29 июня 2009

Drupal будет счастливо жить в каталоге, он не настаивает на том, чтобы быть root. Я совсем не знаю о Зенде.

Если вы хотите установить их оба в корень веб-сервера, я думаю, вам придется немного поработать над ними. Я бы, вероятно, заглянул в Drupal index.php и добавил бы некоторый код, который отправляет 404 в Zend вместо того, чтобы позволить Drupal обрабатывать их. Фактически, может быть способ сделать это с помощью какой-то магии mod_rewrite или mod_proxy на уровне Apache.

...