我想知道是否有一个可以执行此类功能的Drupal模块:如果我转到主页,它将带我到站点内的某个子路径。即www.something.com将重定向至www.something.com/product/node/11。
我尝试创建别名并使用了路径重定向模块,但出于某种原因,我在转到主页时无法访问扩展的网址。它将显示www.something.com/product/node/11的内容,但仍然使用www.something.com。
我认为这只能在Apache服务器中实现,而不是在Drupal中实现?
请注意,我们执行此功能的目的是在创建新产品时,我们希望我们的主页指向(即www.something.com - > www.something.com/product2/home,在www之前) .something.com /产品1 /家)。如果这可以在Drupal中配置,那么更改将更容易,并且可以由Drupal管理员完成。
答案 0 :(得分:1)
您应该可以转到/admin/settings/site-information
并在表单底部设置默认封面。这不会重定向:主页将是您设置默认值的任何内容。
答案 1 :(得分:1)
admin/config/system/site-information
,将“默认首页”设置为上方的视图显示路径(在我的示例中为frontpage-redirect)views-view-field--frontpage-redirect--page-1--nid.tpl.php
,但取决于视图名称和显示名称。使用3中的文件名将默认视图模板views-view.tpl.php复制到主题文件夹中。if (isset($row->nid)) { drupal_goto('node/' . $row->nid); }
这种设置重定向的方法允许您从Views中驱动它,这提供了灵活性。当您的客户在六周内决定他们只想在首页上展示最新的 red 产品时,您将能够使用视图UI更新重定向背后的逻辑。 (你可以在火车回家的手机上做到这一点!)
您无需创建自定义模块(这很容易,但会增加一些复杂性)或将您的网站逻辑移至.htaccess
。
答案 2 :(得分:0)
使用“视图”模块,创建一个新视图,显示一个完整节点,按上次创建顺序排序,适当过滤,然后在视图中创建页面显示。然后按照Graham的说明将站点主页设置为视图URL。
另一种方法是编写一个非常简单的自定义模块,对所需排序的最新节点进行db查询,获取页面的URL,然后使用drupal_goto()重定向到那里。
还有其他方法可以在Drupal中做你想做的事,但我想不出任何更直接和简单的东西......
答案 3 :(得分:0)
你所问的似乎是错的。对不起,如果我误解了一些细节,但似乎你应该重新考虑更高层次的问题。
如果我理解你,你想显示最新产品的页面作为主页? 如果是这样,也许您应该将其转换为显示主页上的最新项目页面。这与网络的RESTfullness相得益彰。并满足用户的期望。
模式将是:
要实现这一点,您可以使用视图模块。
答案 4 :(得分:0)
与Michael D的帖子类似,假设您想从名为“products”的自定义内容类型中提取最近发布的产品,您可以在settings.php中输入类似的内容:
function yourtheme_preprocess_page(&$variables) {
$query = db_query("SELECT nid FROM {content_type_products} ORDER BY nid DESC LIMIT 1");
while ($row = db_fetch_object($query)) {
$redirect_nid = $row->nid;
}
if ($variables['is_front'] == 1) drupal_goto("/node/" . $redirect_nid);
}
答案 5 :(得分:0)
修改.htaccess文件。 http://drupal.org/node/50322#comment-2456576