0

我在名为“categorie”的模块中有一个实现:

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

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

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

在本主题中:使用模块:url_alter 和它的钩子:hook_url_outbound_alter()他们还建议您需要实现其中没有任何内容的 hook_boot()。但是我确实实现了这个钩子,这并没有改变行为。

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

UPDATE2:清理缓存也没有用。

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

4

2 回答 2

0

你清除了什么缓存?仅清除页面​​缓存可能还不够。您可以尝试拨打

drupal_lookup_path('擦除');

清除别名缓存。这解决了别名系统的许多问题。其他要检查的事情是别名数据库表,以确保首先设置别名。

于 2013-09-23T11:18:24.217 回答
0

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

干杯

于 2015-10-07T10:27:18.347 回答