当前位置:首页 > PHP

php实现301重定向

2026-01-28 20:05:10PHP

301重定向的实现方法

在PHP中实现301重定向可以通过几种不同的方式完成。301重定向是永久性重定向,对SEO友好,能够将访问者和搜索引擎引导至新的URL。

使用header()函数

通过PHP的header()函数发送HTTP 301状态码和新的URL是最常见的方法。确保在调用header()之前没有输出任何内容到浏览器。

<?php
header("HTTP/1.1 301 Moved Permanently");
header("Location: https://www.newdomain.com/newpage.php");
exit();
?>

使用.htaccess文件

如果使用的是Apache服务器,可以通过修改.htaccess文件来实现301重定向。这种方法更高效,因为它在服务器层面处理重定向,不需要PHP脚本执行。

RewriteEngine On
RewriteRule ^oldpage\.php$ https://www.newdomain.com/newpage.php [R=301,L]

重定向整个域名

如果需要将整个域名重定向到新的域名,可以在.htaccess文件中使用以下规则:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^olddomain\.com$ [OR]
RewriteCond %{HTTP_HOST} ^www\.olddomain\.com$
RewriteRule ^(.*)$ https://www.newdomain.com/$1 [R=301,L]

重定向带查询参数的URL

对于带有查询参数的URL,可以使用以下PHP代码实现301重定向:

<?php
$new_url = "https://www.newdomain.com/newpage.php";
if (isset($_GET['id'])) {
    $new_url .= "?id=" . urlencode($_GET['id']);
}
header("HTTP/1.1 301 Moved Permanently");
header("Location: " . $new_url);
exit();
?>

注意事项

  • 确保在调用header()函数之前没有输出任何内容,包括空格和换行符。
  • 使用exit()die()函数确保在重定向后脚本立即终止执行。
  • 对于大量重定向规则,使用.htaccess文件更为高效。
  • 测试重定向是否正常工作,可以使用在线HTTP头检查工具验证返回的状态码是否为301。

php实现301重定向

标签: 重定向php
分享给朋友:

相关文章

php实现分页

php实现分页

PHP实现分页的基本方法 使用LIMIT和OFFSET进行数据库查询分页。通过计算当前页码和每页显示数量,动态生成SQL语句。 $page = isset($_GET['page']) ? (int…

php实现文件上传

php实现文件上传

PHP 文件上传实现方法 在 PHP 中实现文件上传需要处理 HTML 表单和服务器端脚本。以下是详细步骤: 创建 HTML 表单 使用 enctype="multipart/form-data"…

php实现验证码

php实现验证码

PHP实现验证码的方法 使用GD库生成验证码 GD库是PHP中处理图像的扩展,可用于生成验证码图片。 <?php session_start(); $width = 120; $height…

php实现队列

php实现队列

PHP实现队列的方法 队列是一种先进先出(FIFO)的数据结构,PHP可以通过多种方式实现队列功能。 使用数组模拟队列 PHP数组可以模拟队列的基本操作,通过array_push和array_shi…

php实现搜索

php实现搜索

PHP实现搜索功能的方法 在PHP中实现搜索功能通常涉及数据库查询和用户输入的匹配。以下是几种常见的实现方式: 使用MySQL LIKE语句 通过简单的LIKE语句实现基础搜索: $searchT…

php 实现接口

php 实现接口

PHP 实现接口的方法 在 PHP 中,接口(Interface)用于定义一组方法的规范,而不包含具体的实现。类可以实现(implement)接口,并必须实现接口中定义的所有方法。 定义接口 接口…