以下是實現例子:
復制代碼 代碼如下:
/*
* 偽地址轉原地址 (url_alter)
*/
function example_url_inbound_alter(&$path, $original_path, $path_language)
{
if (preg_match('|^article(/.*)|', $path, $matches)) {
$path = 'node'. $matches[1];
}
}
/*
* 原地址轉偽地址 (url_alter)
*/
function example_url_outbound_alter(&$path, &$options, $original_path)
{
if (preg_match('|^node(/.*)|', $path, $matches)) {
$path = 'article' . $matches[1];
}
}
PS: 實現hook_url_inbound_alter時不知為何會調不出實現函數,可能因為HOOK過早加載,沒有把module加載完全。所以我的做法是寫在URL重寫模塊中,例如subpath_alias