php实现301跳转
301 跳转的实现方法
在 PHP 中实现 301 永久重定向可以通过多种方式完成,以下是几种常见的方法:
使用 header() 函数
通过 PHP 的 header() 函数发送 HTTP 状态码 301 和新的 Location 头信息:
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.example.com/new-page.php");
exit();
确保在调用 header() 之前没有输出任何内容到浏览器,否则会导致错误。

使用 http_response_code()
PHP 5.4 及以上版本可以使用 http_response_code() 设置状态码:
http_response_code(301);
header("Location: https://www.example.com/new-page.php");
exit();
结合 .htaccess 文件
对于 Apache 服务器,可以在 .htaccess 文件中实现 301 重定向:

Redirect 301 /old-page.php https://www.example.com/new-page.php
或者在 PHP 文件中通过 header() 实现同样的效果。
WordPress 中的 301 重定向
在 WordPress 中可以通过插件(如 Redirection)或修改主题的 functions.php 文件:
add_action('template_redirect', 'custom_301_redirect');
function custom_301_redirect() {
if (is_page('old-page')) {
wp_redirect('https://www.example.com/new-page', 301);
exit();
}
}
注意事项
- 确保在重定向后调用
exit()或die()终止脚本执行,避免后续代码被执行。 - 对于 SEO 优化,301 重定向会传递原始页面的权重到新页面。
- 测试重定向是否生效可以使用在线工具如 Redirect Checker。
以上方法可以根据具体需求选择使用,通常推荐使用 header() 函数结合状态码的方式实现灵活的控制。






