符号“?”在别名或脏网址

时间:2011-05-18 14:42:59

标签: drupal-6 path

我想将网站移动到具有原始路径的Drupal CMS。它看起来像

  • website.com/search.php?q=blablabla
  • website.com/index.php?q=blablabla
  • website.com/category.php?q=auto&page=2

如何在Drupal中使用这些别名?谢谢。

1 个答案:

答案 0 :(得分:0)

我认为如果可能的话,你很难设置它。让Drupal使用其标准的干净URL以及设置URL重写规则以将旧URL的请求转换为新URL更好。

例如,Drupal的搜索URL如下所示:

website.com/search/node/blahblah

在.htaccess中你可以定义:

RewriteRule ^search.php\?q=(.*)$ /search/node/$1 [R=301,NC,L]

哪个匹配旧搜索网址的格式,提取查询并重写网址,以便查询处于Drupal的干净形式。这样请求发送到Drupal之前请求将site.com/search.php?q=blah翻译到website.com/search/node/blah。然而,用户将看到新的Drupal风格的URL。

mod_rewrite is well documented

如果旧版URL使用Drupal中不存在的唯一ID,那么这当然会更难。在这种情况下,我会注意确保您的旧网站和新网站之间的节点ID和分类标识等都相应。这样你就可以将/view.php?articleID=121之类的东西翻译成/ node / 121。

这样可以处理来自搜索引擎,第三方网站或用户书签的任何传入链接,但会留下全新的网址结构。我在迁移到Drupal之前使用过这种方法。