个性化阅读
专注于IT技术分析

如何使用纯PHP重定向到页面

本文概述

在最近几年中, 大量开发人员使用任何最著名的PHP框架(例如Symfony, Laravel, CakePHP, Zend等)作为应用程序或服务的后端解决方案。

使用框架是一个巨大的优势, 你们当中有多少人还记得如何使用PHP重定向到另一个网站?可能你忘记了吗?在本文中, 你将学习如何使用PHP进行重定向, 以防你想刷新内存或只需要知道如何做。

基本重定向

从理论上讲, 基本的重定向功能将由以下几行组成:

<?php
    header( 'Location: http://es.ourcodeworld.com/' ) ;
    // or die();
    exit();
?>

标头函数期望在字符串中具有其值的标头, 在这种情况下, 具有相对或绝对路径(或者是本地路径, 是包含域的Web URL)的Location为值。在重定向上使用exit()是为了防止该页面显示剩余内容(即受限制的页面)。

默认情况下, 先前公开的重定向类型是时间重定向, 这意味着任何搜索引擎(如Google)都将在定位中忽略它。因此, 如果要向任何搜索引擎指示” A”页面现在位于” B”上, 则需要在标题函数中将响应代码指定为第三个参数:

<?
    header('Status: 301 Moved Permanently', false, 301);
    header('Location: new/path.php');
?>

注意:请记住, 标头函数的第二个参数是一个布尔值, 指示标头应替换先前的标头还是添加第二个标头。 301重定向表示页面已永久移动到新位置, 而302重定向意味着该页面只是暂时的。

辅助功能

如果你想知道如何使用纯PHP进行重定向, 但是你来自框架背景, 那么这可能是最适合你的解决方案, 即重定向方法。以下方法说明了重定向功能的最简单实现:

function redirect($url, $permanent = false){
    if (headers_sent() === false)
    {
    	header('Location: ' . $url, true, ($permanent === true) ? 301 : 302);
    }
    
    exit();
}

// Redirect to external URLS
redirect('http://www.google.com/', false);
// Redirect with relative URL'S (or a file)
redirect('/my-folder/demo.php');

$ permanent参数允许你在响应代码(301和302)之间交替。

重定向基本上是一堆HTTP标头。根据HTTP协议, HTTP标头应始终比其他任何内容先发送, 这意味着不应发送任何类型的字符作为响应(echo, print_r或生成输出的任何其他函数), 甚至不能空白空间。

玩得开心 !

赞(0)
未经允许不得转载:srcmini » 如何使用纯PHP重定向到页面

评论 抢沙发

评论前必须登录!