drupal 代码实现URL重写

2015-01-24信息快讯网

开启了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
PHP curl 并发最佳实践代码分享
PHP中使用crypt()实现用户身份验证的代码
PHP中根据IP地址判断城市实现城市切换或跳转代码
php数组一对一替换实现代码
PHP 利用AJAX获取网页并输出的实现代码(Zjmainstay)
PHP实现手机归属地查询API接口实现代码
PHP中全局变量global和$GLOBALS[]的区别分析
PHP文章采集URL补全函数(FormatUrl)
PHP imagecreatefrombmp 从BMP文件或URL新建一图像
深入了解 register_globals (附register_globals=off 网站打不开的解决方法)
php中通过curl smtp发送邮件
PHP面向对象的进阶学习(抽像类、接口、final、类常量)
php提示Call-time pass-by-reference has been deprecated in的解决方法[已测]
PHP中将字符串转化为整数(int) intval() printf() 性能测试
php中通过curl模拟登陆discuz论坛的实现代码
让Nginx支持ThinkPHP的URL重写和PATHINFO的方法分享
Views rows style模板重写代码
php中处理mysql_fetch_assoc返回来的数组 不用foreach----echo
PHP操作MongoDB时的整数问题及对策说明
PHP计划任务、定时执行任务的实现代码
PHP中输出转义JavaScript代码的实现代码
php中利用post传递字符串重定向的实现代码
php强制下载类型的实现代码
PHP在字符断点处截断文字的实现代码
PHP SEO优化之URL优化方法
PHP curl模拟浏览器采集阿里巴巴的实现代码
写php分页时出现的Fatal error的解决方法
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
PHP的cURL库功能简介 抓取网页、POST数据及其他
php curl 登录163邮箱并抓取邮箱好友列表的代码(经测试)
php中取得URL的根域名的代码
php文件上传表单摘自drupal的代码
Wordpress 相册插件 NextGEN-Gallery 添加目录将中文转为拼音的解决办法
php数据入库前清理 注意php intval与mysql的int取值范围不同
php快速url重写更新版[需php 5.30以上]
php快速url重写 更新版[需php 5.30以上]
©2014-2024 dbsqp.com