欢迎各位兄弟 发布技术文章
这里的技术是共享的
在 Drupal 7 中,实现页面跳转可以通过多种方式,以下是常见的模块和方法:
默认 URL 重定向:
Drupal 7 的内容编辑页面可直接设置<meta http-equiv="refresh">
进行跳转(需开启 PHP 过滤或自定义字段)。
全局重定向(简单PHP):
在节点模板或自定义模块中使用drupal_goto('目标路径')
(需谨慎,可能影响SEO)。
功能:
管理301/302重定向,支持从旧URL自动跳转到新URL,适合内容迁移或路径更改。
安装:
bashdrush en redirect -y
或后台下载并启用。
用法:
管理界面:/admin/config/search/redirect
支持批量导入/导出。
/admin/modules 模块页面
/admin/config/search/redirect 添加跳转
功能:
自动处理重复URL(如带/不带斜杠)、语言前缀,避免内容重复,优化SEO。
安装:
bashdrush en globalredirect -y
Rules Module:
通过事件触发跳转(如提交表单后跳转)。需配置规则(Event + Action)。
Token Redirect:
基于动态Token生成跳转链接。
若需编程控制,可在自定义模块中使用钩子:
phpfunction mymodule_init() { if (drupal_is_front_page()) { drupal_goto('custom-page'); } }
或通过hook_menu()
定义跳转路由。
SEO友好性:优先用301(永久)而非302(临时)。
性能:大量重定向需考虑缓存优化。
测试:避免循环跳转。
根据需求选择合适方案,通常Redirect
模块是最通用选择。