首页 | 新闻 | 交流 | 问吧 | 文档 | 手册 | 下载 | 博客

drupal 代码实现URL重写

作者:  时间: 2011-05-03

开启了url_alter后,将实现两个HOOK,hook_url_inbound_alter与hook_url_outbound_alter,作用是重写URL,第三方URL重写模块都需要实现它。


以下是实现例子:

/*
 * 伪地址转原地址 (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

作者: 猫之良品 发表于 2011-05-03 11:42 原文链接

评论: 0 查看评论 发表评论


最新新闻:
· 土豆网侵权案激增 诉讼成重启IPO最大拦路虎(2011-05-03 11:38)
· 微软STB部门重组:建立新Azure应用平台团队(2011-05-03 11:35)
· 互联网泡沫2.0 或5年内破裂(2011-05-03 11:29)
· 2011 IBM Rational Jazz创新大赛启动(2011-05-03 11:22)
· Facebook或许是最可怕的间谍机器(2011-05-03 11:19)

编辑推荐:再论抽象

网站导航:博客园首页  我的园子  新闻  闪存  小组  博问  知识库