【发布时间】:2011-01-26 02:31:38
【问题描述】:
我有基于 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,但由于drupal安装在子文件夹中,它在blog/some-blog-post之前添加了/drupal)。由于网站根文件夹中的 .htaccess 规则,以下 url 也是有效的 www.example.com/blog/some-blog-post。我想以某种方式从网址中删除 /drupal 部分。我怎样才能做到这一点?
2) 如何使用相对路径(例如 /some-folder/some-page.html)以及网站根目录 链接到 /drupal 文件夹之外的页面/ ?我知道我可以将它们与绝对 URL 链接,例如 www.example.com/some-folder/some-page.html,但这对我不利。
【问题讨论】:
标签: drupal .htaccess mod-rewrite