drupal 代碼實(shí)現(xiàn)URL重寫
更新時(shí)間:2011年05月04日 00:41:29 作者:
開啟了url_alter后,將實(shí)現(xiàn)兩個(gè)HOOK,hook_url_inbound_alter與hook_url_outbound_alter,作用是重寫URL,第三方URL重寫模塊都需要實(shí)現(xiàn)它。
以下是實(shí)現(xiàn)例子:
/*
* 偽地址轉(zhuǎn)原地址 (url_alter)
*/
function example_url_inbound_alter(&$path, $original_path, $path_language)
{
if (preg_match('|^article(/.*)|', $path, $matches)) {
$path = 'node'. $matches[1];
}
}
/*
* 原地址轉(zhuǎn)偽地址 (url_alter)
*/
function example_url_outbound_alter(&$path, &$options, $original_path)
{
if (preg_match('|^node(/.*)|', $path, $matches)) {
$path = 'article' . $matches[1];
}
}
PS: 實(shí)現(xiàn)hook_url_inbound_alter時(shí)不知為何會(huì)調(diào)不出實(shí)現(xiàn)函數(shù),可能因?yàn)镠OOK過早加載,沒有把module加載完全。所以我的做法是寫在URL重寫模塊中,例如subpath_alias
復(fù)制代碼 代碼如下:
/*
* 偽地址轉(zhuǎn)原地址 (url_alter)
*/
function example_url_inbound_alter(&$path, $original_path, $path_language)
{
if (preg_match('|^article(/.*)|', $path, $matches)) {
$path = 'node'. $matches[1];
}
}
/*
* 原地址轉(zhuǎn)偽地址 (url_alter)
*/
function example_url_outbound_alter(&$path, &$options, $original_path)
{
if (preg_match('|^node(/.*)|', $path, $matches)) {
$path = 'article' . $matches[1];
}
}
PS: 實(shí)現(xiàn)hook_url_inbound_alter時(shí)不知為何會(huì)調(diào)不出實(shí)現(xiàn)函數(shù),可能因?yàn)镠OOK過早加載,沒有把module加載完全。所以我的做法是寫在URL重寫模塊中,例如subpath_alias
相關(guān)文章
深入理解PHP原理之錯(cuò)誤抑制與內(nèi)嵌HTML分析
PHP支持內(nèi)嵌HTML的, 那么對(duì)于PHP文件中, PHP標(biāo)簽外的HTML會(huì)怎么處理呢? 它和直接輸出HTML有什么區(qū)別么?2011-05-05
PHP將MySQL的查詢結(jié)果轉(zhuǎn)換為數(shù)組并用where拼接的示例
這篇文章主要介紹了PHP將MySQL的查詢結(jié)果轉(zhuǎn)換為數(shù)組并用where拼接的示例,這樣處理where條件時(shí)便可以在一定程度上優(yōu)化查詢和轉(zhuǎn)化的性能,需要的朋友可以參考下2016-05-05
memcache一致性hash的php實(shí)現(xiàn)方法
這篇文章主要介紹了memcache一致性hash的php實(shí)現(xiàn)方法,實(shí)例分析了memcache中hash一致性的實(shí)現(xiàn)原理與相關(guān)技巧,需要的朋友可以參考下2015-03-03
PHP+Ajax檢測(cè)用戶名或郵件注冊(cè)時(shí)是否已經(jīng)存在實(shí)例教程
這篇文章主要介紹了PHP+Ajax檢測(cè)用戶名或郵件注冊(cè)時(shí)是否已經(jīng)存在實(shí)例教程,是非常常見的一個(gè)重要功能,常用于論壇注冊(cè)部分或會(huì)員注冊(cè)部分,需要的朋友可以參考下2014-08-08
php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法
以下是對(duì)php中用date函數(shù)獲取當(dāng)前時(shí)間有誤的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過來參考下2013-08-08

