|
|

楼主 |
发表于 2005-11-20 17:59:27
|
显示全部楼层
批量别名设置
== 批量别名设置 ==
Drupal里允许批量为URL设置别名。通过这个功能,可以提供完全不一样的URL地址,甚至可以为不同的语言提供完全本地化的地址。
批量修改别名的方法是在sites/default/settings.php中添加一个conf_url_rewrite函数(4.6.x),如果是Drupal 4.7.x,则函数名是custom_url_rewrite。
以下例子将所有的"node/$node_id"类型的URL修改为"display/$node_id":
<?php
// 用于 Drupal 4.6.x 的例子
function conf_url_rewrite($path, $mode = 'incoming') {
if ($mode == 'incoming') { // 从客户端来的URL
return preg_replace('!^display/(\d+)$!', 'node/\1', $path);
} elseif ($mode == 'outgoing') { // 到客户端去的URL
return preg_replace('!^node/(\d+)$!', 'display/\1', $path);
}
}
?>
<?php
// 用于 Drupal 4.7.x 及更高版本的例子:
function custom_url_rewrite($type, $path, $original) {
// 如果已经为该地址设置了别名,则不作进一步处理
if ($path != $original) {
return $path;
}
if ($type == 'source') { // 从客户端来的URL
return preg_replace('!^display/(\d+)$!', 'node/\1', $path);
} elseif ($type == 'alias') { // 到客户端去的URL
return preg_replace('!^node/(\d+)$!', 'display/\1', $path);
}
}
?> |
|