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

在 php 开发中,页面跳转是常见的需求,比如用户登录后跳转到首页、表单提交 后跳转到结果页等。实现跳转的方法有多种,不同场景下应选择合适的方式。以下是几种常用的 PHP 页面跳转方法及其适用情况。
1. 使用 header() 函数跳转
语法示例:
header("Location: https://example.com"); exit;
说明:
立即学习“PHP 免费学习笔记(深入)”;
- 必须在输出任何内容(包括空格、html)前调用 header(),否则会报“headers already sent”错误。
- 建议在 header() 后加上 exit 或 die(),防止后续代码执行。
- 可跳转到站内或站外地址。
适用场景:登录跳转、表单提交 后重定向、权限验证失败跳转等。
2. 使用 javascript 跳转
当 PHP 无法使用 header()(如已有输出)时,可用 JavaScript 实现跳转。
示例代码:
说明:
立即学习“PHP 免费学习笔记(深入)”;
适用场景:操作提示后跳转、已有 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 免费学习笔记(深入)”;
适用场景:网站迁移、旧链接重定向到新地址。
基本上就这些。选择哪种方式取决于具体需求:优先用 header(),有输出限制时考虑 JS 或 meta,涉及 SEO 用 301。注意跳转前不要有输出,避免出错。


