我的模块中有一个名为'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)。所以这就是我现在尝试使用自定义模块的原因。
答案 0 :(得分:0)
你清楚了什么缓存?这可能还不够 只是清除页面缓存。您可以尝试拨打
drupal_lookup_path( '擦拭');
清除别名缓存。这解决了别名系统的许多问题。 要检查的其他事项是别名数据库表,以确保别名正在进行 设置在第一位。
答案 1 :(得分:0)
我不是100%肯定,因为我对drupal也很新。但我认为你也需要实现hook_url_outbound_alter。祝好运。如果我找到更好的答案,我会发布它。
干杯