2009-06-29 83 views
1

我有一個用Zend Framework編寫的小應用程序,我想嵌入到Drupal頁面中。 這兩個應用程序(ZF和Drupal)都位於同一個域中。Zend Framework和Drupal在同一個域上

但根據我的知識,ZF需要安裝在服務器的根目錄中,我已經有了Drupal。我擔心的是,ZF控制器會將Drupal頁面請求視爲糟糕的控制器請求。

難道有一個簡單的解決方案來防止這種衝突嗎? 可能會更容易重寫應用程序的限制較少的框架,但我需要檢查我已經權衡了所有選項。

由於提前,如StackOverflow上已被證明是一個非常有用的資源,我打算撥出一些時間來幫助人們在我的專業領域

回答

0

Drupal將幸福生活的目錄裏面,這不是」堅持做根。我對Zend一無所知。

如果你想將它們都安裝到網絡服務器的根目錄,我想你將不得不做一些自定義編碼。我可能會在Drupal的index.php中查看並添加一些向Zend發送404的代碼,而不是讓Drupal處理它們。實際上,可能有一種方法可以在Apache級別使用某種mod_rewrite或mod_proxy魔術來實現。

1

我已經運行特定的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

-5

這可能對您沒有特別的幫助。但是有什麼特別的,你需要Zend的。 Drupal本身就是一個非常好的框架。我想冒一個猜測,試圖讓兩個並肩工作會更努力,因爲它是非常不標準的。