Drupal作为CMS /与现有网站集成,菜单路径问题

时间:2011-01-26 02:31:38

标签: drupal .htaccess mod-rewrite

我的网站建立在Zend Framework上(与问题没有多大关系)和 Drupal安装在子文件夹/ drupal

在网站的根目录中,我有以下.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 Framework或静态文件,但是当www.example.com/blog/some-blog-post时,这个将用drupal处理,对于那部分,一切都很好。

1)drupal链接的问题是它们的绝对路径是www.example.com/drupal/blog/some-blog-post(当然,该帖子的别名是 blog / some-blog-post < / strong>,但由于drupal安装在子文件夹中,因此在博客/ some-blog-post 之前添加 / drupal 。由于.htaccess规则位于网站的根文件夹中,因此以下网址也是有效的www.example.com/blog/some-blog-post。我想以某种方式从网址中删除 / drupal 部分。我怎么能做到这一点?

2)如何使用相对路径链接到/ drupal文件夹之外的页面,例如 /some-folder/some-page.html ,以及网站的根目录/ ?我知道我可以用绝对URL链接它们,比如www.example.com/some-folder/some-page.html,但这对我不好。

1 个答案:

答案 0 :(得分:0)

Drupal使用base_path()来获取该路径,您可以使用settings.php中的$ base_url变量来影响该路径,该文件包含有关如何执行此操作的文档。