插件窝 干货文章 php如何实现301跳转

php如何实现301跳转

定向 URL 永久 header 749    来源:    2025-03-18

在PHP中,可以通过设置HTTP响应头来实现301永久重定向。301重定向是一种SEO友好的重定向方式,它告诉搜索引擎和浏览器,当前页面已经永久移动到新的URL。

以下是一个简单的PHP代码示例,展示如何实现301重定向:

<?php
// 设置HTTP状态码为301
header("HTTP/1.1 301 Moved Permanently");

// 设置新的URL
header("Location: https://www.new-url.com/new-page");

// 确保在重定向后立即退出脚本
exit();
?>

代码解释:

  1. header("HTTP/1.1 301 Moved Permanently");
    这行代码设置了HTTP响应状态码为301,表示永久重定向。

  2. header("Location: https://www.new-url.com/new-page");
    这行代码设置了新的URL,浏览器会自动跳转到这个URL。

  3. exit();
    这行代码确保在发送重定向头后立即停止脚本的执行,避免后续代码继续执行。

注意事项:

  • 确保在调用header()函数之前没有输出任何内容(包括空格、HTML标签等),否则会导致header()函数调用失败。
  • 301重定向是永久性的,搜索引擎会更新索引,将旧的URL替换为新的URL。因此,请确保你真的需要永久重定向。

示例场景:

假设你有一个旧的URL https://www.old-url.com/old-page,现在你想将它永久重定向到新的URL https://www.new-url.com/new-page,你可以使用上述代码来实现。

其他重定向方式:

  • 302临时重定向:如果你希望临时重定向到另一个URL,可以使用302状态码:

    header("Location: https://www.new-url.com/new-page", true, 302);
    exit();
    
  • 307临时重定向:与302类似,但更严格地要求客户端保持请求方法不变:

    header("Location: https://www.new-url.com/new-page", true, 307);
    exit();
    

根据你的需求选择合适的重定向方式。