2010-11-24 69 views
0

我正在構建基於Zend Framework的網站/應用程序。對於大量的頁面我想使用Drupal。 Drupal大概安裝在/ cms文件夾中。在子文件夾中使用Drupal(或任何其他CMS)的Zend Framework站點)

Zend框架的切入點是

/public/index.php

而對於Drupal是

/public/cms/index.php

如何處理一些.htacc ESS mod_rewrite的規則消除 「/ CMS /」 一部分網址爲Drupal,那就是,我想鏈接到頁面是

www.example.com/blog/a-blog-post

代替

www.example.com/cms/blog/a-blog-post

另外,我想從Zend框架我的自定義路由才能正常工作。

子問題:誰將服務404未找到頁面,Zend Framework應用程序或Drupal?

回答

0

不知道Drupal如何處理它的根主機名,但在Zend Framework中使用默認的mod_rewrite規則時,作爲文件夾存在的公共路徑中的任何內容都將覆蓋ZF路徑。

所以我猜如果你在public/blog上安裝Drupal,你可以選擇www.example.com/blog/a-post-name,它會打到Drupal。至少這就是我和ZF一起使用Wordpress時所要做的。

將出現錯誤頁面,具體取決於遇到錯誤時運行的是哪個應用程序。

0

只要您的drupal網址都是'/ blog',那麼只要在zend框架重寫規則之前對其進行解釋就可以滿足要求。

我只是從我的頭頂拉這個,所以我希望它的工作原理:

RewriteEngine On 
RewriteBase /blog 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /cms/index.php [L] 

RewriteBase/
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule . /index.php [L] 

重要作用[L]告訴apache這是最後一條規則,不應該走的更遠。這應該工作,但它可能需要一些按摩;)

要回答你的子問題,404將被拋出兩者。在/博客中找不到的任何東西都是drupal,其他任何未找到的東西都是ZF。

+0

好的,這是很好的解決方案,當只有一個路徑使用Drupal。如果有幾個Drupal託管路徑/類別,如/ blog/a-blog-post,/ faq/some-faqs,/ tutorials/a-tutorial等等,那麼Drupal中的類別數量應該是無限的,但是Zend框架路由和控制器的數量將僅限於少數幾個。 – ppavlovic 2010-11-24 23:13:25

相關問題