首选header()函数跳转,需在无输出前调用并加exit;2. 已有输出时用javaScript跳转;3. 需延迟跳转可用meta标签;4. seo优化选择301重定向。

在php开发中,页面跳转是常见的需求,比如用户登录后跳转到首页、表单提交后跳转到结果页等。实现跳转的方法有多种,不同场景下应选择合适的方式。以下是几种常用的PHP页面跳转方法及其适用情况。
1. 使用 header() 函数跳转
最常用且高效的方式,通过发送http头部信息实现跳转。
语法示例:
header("Location: https://example.com"); exit;
说明:
立即学习“PHP免费学习笔记(深入)”;
- 必须在输出任何内容(包括空格、html)前调用 header(),否则会报“headers already sent”错误。
- 建议在 header() 后加上 exit 或 die(),防止后续代码执行。
- 可跳转到站内或站外地址。
适用场景:登录跳转、表单提交后重定向、权限验证失败跳转等。
2. 使用 javascript 跳转
当PHP无法使用 header()(如已有输出)时,可用JavaScript实现跳转。
示例代码:
echo "<script>window.location.href='https://example.com';</script>";
说明:
立即学习“PHP免费学习笔记(深入)”;
- 不依赖HTTP头,可在页面输出后执行。
- 依赖客户端JavaScript支持,禁用js则无效。
- 可添加延迟跳转,例如提示信息展示几秒后再跳转。
适用场景:操作提示后跳转、已有HTML输出时的跳转。
3. 使用 meta 标签跳转
通过HTML的 meta refresh 实现延迟或即时跳转。
示例:
echo "<meta http-equiv='refresh' content='3;url=https://example.com'>";
说明:
立即学习“PHP免费学习笔记(深入)”;
- content 中的数字表示延迟秒数,设为0即立即跳转。
- 兼容性好,无需JS支持。
- 属于前端跳转,SEO上不如301重定向友好。
适用场景:倒计时跳转、维护页面提示后自动跳转。
4. 301 永久重定向
用于SEO优化,告诉搜索引擎页面已永久迁移。
示例:
header("HTTP/1.1 301 Moved Permanently"); header("Location: https://new-example.com"); exit;
说明:
立即学习“PHP免费学习笔记(深入)”;
- 搜索引擎会更新索引,传递原页面权重。
- 适用于网站改版、URL结构调整。
适用场景:网站迁移、旧链接重定向到新地址。
基本上就这些。选择哪种方式取决于具体需求:优先用 header(),有输出限制时考虑JS或meta,涉及SEO用301。注意跳转前不要有输出,避免出错。


