drupal 代码实现URL重写
作者:bea
以下是实现例子: 代码如下: /* * 伪地址转原地址 (url_alter) */ function example_url_inbound_alter(&$path, $original_path, $path_language) { if (preg_match('|^article(/.*)|', $path, $matches)) { $path = 'node'. $matches[1]; } } /* * 原地址转伪地址 (ur
以下是实现例子:
代码如下:
/*
* 伪地址转原地址 (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
有用 | 无用
代码如下:
/*
* 伪地址转原地址 (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
有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- 谷歌音乐搜索栏的提示功能php修正代码
- php 随机排序广告的实现代码
- php中强制下载文件的代码(解决了IE下中文文件名乱码问题)
- PHP新手入门学习方法
- php在多维数组中根据键名快速查询其父键以及父键值的代码
- php 大数据量及海量数据处理算法总结
- php 截取字符串并以零补齐str_pad() 函数
- php调用mysql数据 dbclass类
- 用PHP的超级变量$_POST获取HTML表单(HTML Form) 数据
- 用PHP的超级变量$_GET获取HTML表单(Form) 数据
- php数据库抽象层 PDO
- php cookies中删除的一般赋值方法
- php中通过Ajax如何实现异步文件上传的代码实例
- PHP 遍历文件实现代码
- PHP中使用CURL伪造来路抓取页面或文件
- php中记录用户访问过的产品,在cookie记录产品id,id取得产品信息
- PHP的substr_replace将指定两位置之间的字符替换为*号
- php join函数应用
- php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo