Drupal hook_url_inbound_alter没有改变我的网址

时间:2013-06-18 18:50:10

标签: php url-rewriting path drupal-7

我的模块中有一个名为'categorie'的实现:

function categorie_url_inbound_alter(&$result, $path, $path_language) {
  if ($path == 'e') {
    $result = 'user';        
  }
}

我打算做一些更高级的事情,但我似乎无法让基本的工作有效。

通过这种实现,我希望如果用户访问mysite.com/e,他将获得用户页面。但我得到了404。

在本主题中:Using module: url_alter and it's hook: hook_url_outbound_alter()他们还建议您不需要实现hook_boot()。但是我确实实现了这个钩子,这并没有改变行为。

更新: 我从核心安装了“Path”模块,并在clean url部分中声明了一些url别名。 (也许这会产生冲突?)

UPDATE2:清理缓存也不起作用。

UPDATE3: 我也尝试在htaccess文件中进行url重写。但是当网址被重写时,它会破坏主题。 (https://drupal.stackexchange.com/questions/76475/drupal-does-rewrite-url-but-cant-load-css-themes/76493?noredirect=1#76493)。所以这就是我现在尝试使用自定义模块的原因。

2 个答案:

答案 0 :(得分:0)

你清楚了什么缓存?这可能还不够 只是清除页面缓存。您可以尝试拨打

drupal_lookup_path( '擦拭');

清除别名缓存。这解决了别名系统的许多问题。 要检查的其他事项是别名数据库表,以确保别名正在进行 设置在第一位。

答案 1 :(得分:0)

我不是100%肯定,因为我对drupal也很新。但我认为你也需要实现hook_url_outbound_alter。祝好运。如果我找到更好的答案,我会发布它。

干杯