PHP에서 헤더 점프를 구현하는 방법

WJ
풀어 주다: 2023-04-08 17:56:01
원래의
5885명이 탐색했습니다.

PHP에서 헤더 점프를 구현하는 방법

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[&#39;url&#39;];
Header("Location:$url");
?>
로그인 후 복사

2. 판단 시 PHP 점프 코드:

다음과 같이 코드를 복사합니다.

if($_COOKIE["u_type"]){ 
header(&#39;location:register.php&#39;);
} else{ 
setcookie(&#39;u_type&#39;,&#39;1&#39;,&#39;86400*360&#39;);//设置cookie长期有效 
header(&#39;location:zc.html&#39;);
로그인 후 복사

참고 : 저장 사용자가 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=&#39;Refresh&#39; content=&#39;{$time};URL={$url}&#39;>”;
if ($time != 0)
 $str .= $msg;
 exit($str);
 }
 }
로그인 후 복사

위에서는 404 상태를 반환할 수 없습니다. 페이지 점프 후 404 상태 코드가 반환되면 다음을 수행할 수 있습니다

function getref()
 {
 $url = @$_SERVER[&#39;HTTP_REFERER&#39;];
 if( !empty( $url ) )
 {
 if( !strstr($url ,&#39;jb51.net&#39; ) && !strstr($url,&#39;jb51.net&#39;))
 {
 @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[&#39;HTTP_HOST&#39;];
 $request_uri = isset($_SERVER[&#39;REQUEST_URI&#39;]) ? $_SERVER[&#39;REQUEST_URI&#39;] : &#39;&#39;;
 if($the_host !== &#39;www.jb51.net&#39;)
 {
  //echo $_SERVER[&#39;HTTP_HOST&#39;].$_SERVER[&#39;PHP_SELF&#39;];
  header(&#39;HTTP/1.1 301 Moved Permanently&#39;);
  header(&#39;Location: https://www.jb51.net&#39; . $_SERVER[&#39;PHP_SELF&#39;] . $request_uri);
 }
 ?>
로그인 후 복사

관련 추천: php 중국어 웹사이트

위 내용은 PHP에서 헤더 점프를 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!