PHP에서 헤더 점프를 구현하는 방법과 주의사항:
header() 함수는 PHP에서 페이지 점프를 위한 매우 간단한 방법입니다. header() 함수의 주요 기능은 HTTP 프로토콜 헤더(header)를 브라우저에 출력하는 것입니다.
header() 함수는 다음과 같이 정의됩니다.
void header (string string [,bool replace [,int http_response_code]])
선택적 매개변수인 replacement는 이전의 유사한 헤더를 바꿀지 아니면 동일한 유형(www.php.cn)의 헤더를 추가할지를 나타냅니다. 기본값은 replacement입니다.
두 번째 선택적 매개변수 http_response_code는 HTTP 응답 코드를 지정된 값으로 강제합니다. 헤더 함수의 Location 유형 헤더는 페이지 이동을 구현하는 데 자주 사용되는 특수 헤더 호출입니다. 참고:
1.location과 ":" 사이에는 공백이 있으면 안 됩니다. 그렇지 않으면 점프하지 않습니다.
2. 헤더를 사용하기 전에는 출력이 불가능합니다.
3. 헤더 뒤의 PHP 코드도 실행됩니다. 예를 들어 브라우저를 php.cn
<?php //重定向浏览器 header("Location: https://www.php.cn"); //确保重定向后,后续代码不会被执行 exit; ?>
1로 리디렉션합니다. 한 문장의 PHP 점프 코드:
<?php $url = $_GET['url']; Header("Location:$url"); ?>
2. 판단 시 PHP 점프 코드:
다음과 같이 코드를 복사합니다.
if($_COOKIE["u_type"]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');//设置cookie长期有效 header('location:zc.html');
참고 : 저장 사용자가 zc.php를 방문하면 쿠키가 있는지 확인하고, 쿠키가 있으면(www.php.cn), 존재하지 않으면 쿠키를 만들고 zc로 이동합니다. html.
URL 리디렉션 기능
function redirect($url, $time=0, $msg=”) { //多行URL地址支持 $url = str_replace(array(“n”, “r”), ”, $url); if ( empty($msg) ) $msg = “系统将在{$time}秒之后自动跳转到{$url}!”; if (!headers_sent()) { // redirect if (0 === $time) { header(‘Location: ‘ . $url); } else { header(“refresh:{$time};url={$url}”); echo($msg); } exit(); } else { $str = “<meta http-equiv='Refresh' content='{$time};URL={$url}'>”; if ($time != 0) $str .= $msg; exit($str); } }
위에서는 404 상태를 반환할 수 없습니다. 페이지 점프 후 404 상태 코드가 반환되면 다음을 수행할 수 있습니다
function getref() { $url = @$_SERVER['HTTP_REFERER']; if( !empty( $url ) ) { if( !strstr($url ,'jb51.net' ) && !strstr($url,'jb51.net')) { @header("http/1.1 404 not found"); @header("status: 404 not found"); include("404.html");//跳转到某一个页面,推荐使用这种方法 exit(); } } else { @header("http/1.1 404 not found"); @header("status: 404 not found"); include("404.html");//跳转到某一个页面,推荐使用这种方法 exit(); } }
301을 수행하려는 경우 거의 동일합니다
<?php $the_host = $_SERVER['HTTP_HOST']; $request_uri = isset($_SERVER['REQUEST_URI']) ? $_SERVER['REQUEST_URI'] : ''; if($the_host !== 'www.jb51.net') { //echo $_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; header('HTTP/1.1 301 Moved Permanently'); header('Location: https://www.jb51.net' . $_SERVER['PHP_SELF'] . $request_uri); } ?>
관련 추천: php 중국어 웹사이트
위 내용은 PHP에서 헤더 점프를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!