2011-01-26 63 views
0

我有建立在Zend框架上的網站(與問題沒有多大關係)和Drupal安裝在子文件夾/ drupal中。Drupal作爲CMS /與現有網站,菜單路徑問題的集成

在網站的根我有以下的.htaccess

SetEnv APPLICATION_ENV development 

RewriteEngine On 

# this will be handled with Drupal 
RewriteCond %{REQUEST_URI} ^/blog.*$ [OR] 
RewriteCond %{REQUEST_URI} ^/financing.*$ [OR] 
RewriteCond %{REQUEST_URI} ^/marketing.*$ 
RewriteRule (^.*$) /drupal/index.php?q=$1 [L] 


# this is handled with Zend Framework 
RewriteCond %{REQUEST_FILENAME} -s [OR] 
RewriteCond %{REQUEST_FILENAME} -l [OR] 
RewriteCond %{REQUEST_FILENAME} -d 
RewriteRule ^.*$ - [NC,L] 
RewriteRule ^.*$ index.php [NC,L] 

我有想法是這樣的:如果有人訪問www.example.com/some-url然後Zend框架或靜態文件將被處理,但是當www.example.com/blog/some-blog-post時,將使用drupal進行處理,對於該部分,一切都可以。

1)與drupal鏈接有關的問題是它們的絕對路徑是www.example.com/drupal/blog/some-blog-post(當然,該帖子的別名是博客/ some-blog-post,但由於Drupal安裝在子文件夾中,因此在之前添加/drupal博客/ some-blog-post)。由於網站根文件夾中的.htaccess規則,以下url也是有效的www.example.com/blog/some-blog-post。我想以某種方式刪除url中的/drupal部分。我怎樣才能做到這一點?

2)我如何鏈接到了外部的網頁/文件夾的Drupal,相對路徑,例如/some-folder/some-page.html,也是網站/的根源在哪裏?我知道我可以將它們與絕對網址相鏈接,例如www.example.com/some-folder/some-page.html,但這對我並不好。

回答

0

Drupal使用base_path()來獲取該路徑,您可以通過settings.php中的$ base_url變量影響該文件,該文件包含有關如何執行此操作的文檔。

+0

當我在settings.php中設置$ base_url =「」時,出現了各種奇怪的問題。這可以通過其他方式實現:像...我可以在所有包含單詞'blog','financing','marketing'的鏈接中重寫URL,以排除安裝了Drupal的/ drupal部分嗎?如果你能告訴我怎麼做,因爲我對drupal不太好。一些鉤子,模塊等...? – ppavlovic 2011-01-26 18:25:19