PHP header()함수 사용 상세(301,404 등 오류 설정)

7279 단어 header404
만약 에 PHP 를 배우 기 시작 했다 면 많은 함수 들 이 연구 해 야 할 것 입 니 다.오늘 우 리 는 PHP Header()의 사용 방법,더 많은 사용 설명 을 배 워 보 겠 습 니 다.PHP 중국어 매 뉴 얼 을 참조 하 십시오.다음은 header 함수 에 대한 상세 한 사용 설명 header 가 404 를 실현 하 는 데 페이지 를 찾 을 수 없습니다
 
Header("HTTP/1.1 404 Not Found");
apache 설정 중의 ErrorDocument 404/404.php 기능 에 대해nginx 설정 의
 
error_page 404 /404.php;
 
error_page 404 = /404.php;
phop heager 301
 
<?php
header("HTTP/1.1 301 Moved Permanently");
header ("Location:$url");
?>
로 바 꾸 면 페이지 에 헤더 가 얼마나 있 든 마지막 으로 실 행 됩 니 다.예 를 들 어 header('Location:https://www.jb51.net'); header('Location:http://www.g.cn'); header('Location:http://www.baidu.com'); 이 건 바 이 두 헤더 로 넘 어 갑 니 다.https://www.jb51.net');echo'열화 망;header('Location:http://www.g.cn'); header('Location:http://www.baidu.com'); 이것 은 구 글 아래로 넘 어 갑 니 다.header 함수 에 대한 상세 한 사용 설명 1.역할:~~~~~~~~~~~~~~~PHP 는 HTTP 프로 토 콜 로 HTML 문서 의 레이 블 을 브 라 우 저 에 보 내 고 브 라 우 저 에 게 이 페이지 를 어떻게 처리 하 는 지 알려 줍 니 다.전송 내용 은 HTTP 프로 토 콜 에 익숙해 져 야 합 니 다.PHP 와 상 관 없 이 전통 적 인 레이 블 은 다음 세 가지 레이 블 중 하 나 를 포함 합 니 다.단 한 번 만 나타 날 수 있다.위치:xxxx:yyy/zzzz Content-Type:xxxx/yyy Status:nnn xxxxx 2,HTTP 프로 토 콜 의 작 동 방식 부터 알 아 보 자~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~HTTP 프로 토 콜 은 요청/응답 패 러 다 임 에 기반 합 니 다.한 클 라 이언 트 가 서버 와 연결 한 후에 서버 에 요청 을 보 냅 니 다.요청 방식 의 형식 은 자원 식별 자,프로 토 콜 버 전 번 호 를 통일 하 는 것 입 니 다.뒤쪽 은 MIME 정보 입 니 다.수식 자,클 라 이언 트 정보 와 가능 한 내용 을 포함 합 니 다.서버 가 요청 을 받 은 후에 해당 하 는 응답 정 보 를 제공 합 니 다.그 형식 은 하나의 상태 줄 로 정 보 를 포함 하 는 프로 토 콜 버 전 번호,성공 또는 오류 코드 이 고 뒤쪽 은 MIME 정 보 는 서버 정보,실체 정보 와 가능 한 내용 을 포함 합 니 다.이 는 네 가지 과정 으로 나 뉘 는데 HTTP 프로 토 콜 에서 서버 는 HTTP 서 비 스 를 제공 하 는 부분 을 말 합 니 다.클 라 이언 트 는 브 라 우 저 나 다운로드 도구 등 을 말 합 니 다.통신 할 때 클 라 이언 트 가 연결 을 요청 하고 서버 에서 연결 을 만 듭 니 다.그 다음 에 클 라 이언 트 가 HTTP 요청(Request)을 보 내 고 서버 에서 응답 정보(Responsd)를 되 돌려 HTTP 작업 을 완성 합 니 다.3.HTTP 프로 토 콜 상태 코드 는~~~~~~~~~~~~~~~~~~~~~~~~××보류 하 다××성공 적 으로××요청 을 완성 하기 위해 서 는 요청 을 더욱 세분 화해 야 합 니 다.××고객 오류××서버 오류 4,작업 인 스 턴 스:~~~~~~~~~~~<1>리 셋 기능,이런 가장 흔 한 <2>클 라 이언 트 가 존재 하 는 캐 시 대신 사용자 가 이 페이지 에 접근 할 때마다 최신 자 료 를 가 져 오도 록 강제 합 니 다.코드 <3>브 라 우 저 로 출력 상태 값,접근 권한 제어 에 사용 예 를 들 어 한 사용자 가 이 페이지 에 접근 할 수 없 도록 제한 하려 면 상 태 를 404 로 설정 할 수 있 습 니 다.다음 과 같 습 니 다.그러면 브 라 우 저 는 이 페이지 에 주의:전통 적 인 표 두 는 반드시 아래 세 가지 표 두 중 하 나 를 포함 하고 한 번 만 나타 날 수 있 습 니 다.Content-Type:xxxx/yyyy Location:xxxx:yyy/zzzz Status:nnn xxxxx 는 새로운 다 중 헤더 규격(Multipart MIME)에서 만 2 회 이상 나타 날 수 있 습 니 다.범례 범례 1:이 예 는 브 라 우 저 를 PHP 의 공식 사이트 로 재 설정 합 니 다.Header("Location: https://www.jb51.net/"); exit; 범례 2:사용자 가 매번 프 록 시 나 cache 의 자료 가 아 닌 최신 자 료 를 얻 으 려 면 아래 의 헤더 header("Expires:Mon,26 Jul 1997 05:00:00 GMT")를 사용 할 수 있다.header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); header("Cache-Control: no-cache, must-revalidate"); header("Pragma: no-cache"); 범례 3:사용자 의 브 라 우 저 에 파일 을 찾 을 수 없 는 정 보 를 표시 합 니 다.header("Status: 404 Not Found"); 범례 4:사용자 에 게 파일 을 다운로드 하 게 한다.header("Content-type: application/x-gzip"); header("Content-Disposition: attachment; filename=파일 이름");header("Content-Description: PHP3 Generated Data"); header--void header(string string[,bool replace[,int httpresponse_code]])header()함 수 는 원본 HTTP 레이 블 을 보 내 는 데 사 용 됩 니 다.HTTP 헤더 에 대한 더 많은 내용 은 HTTP/1.1 규범 을 참조 하 십시오.선택 가능 한 매개 변수 replace 는 이전 과 유사 한 레이 블 을 교체 할 것 인지,아니면 같은 유형의 레이 블 을 추가 할 것 인 지 를 가리킨다.기본 값 은 바 꾸 지만 FALSE 로 설정 하면 여러 개의 같은 레이 블 을 강제로 보 낼 수 있 습 니 다.예: 두 번 째 선택 가능 한 매개 변수 httpresponse_code 는 HTTP 응답 코드 를 지정 값 으로 강제로 설정 합 니 다(이 매개 변 수 는 PHP 4.3.0 에 추 가 된 것 입 니 다).두 가지 특수 한 header 호출 이 있 습 니 다.첫 번 째 는 헤더 가 문자열'HTTP/'(대소 문자 가 중요 하지 않 음)로 시작 하여 보 낼 HTTP 상태 코드 를 확인 할 수 있 습 니 다.예 를 들 어 파일 을 찾 을 수 없 는 오류 처리 요청(ErrorDocument 명령 사용)을 PHP 로 처리 하려 면 스 크 립 트 가 올 바른 상태 코드 를 만 들 었 는 지 확인 해 야 합 니 다. 주:HTTP 상태 코드 헤더 줄 은 항상 클 라 이언 트 에 첫 번 째 로 전송 되 며,실제 헤더()호출 이 첫 번 째 인지 아 닌 지 를 상관 하지 않 습 니 다.HTTP 헤더 가 전송 되 지 않 는 한 언제든지 새로운 상태 줄 로 header()함 수 를 호출 하여 원래 의 것 을 덮어 쓸 수 있 습 니 다.HTTP 상태 검사(HTTP Header):두 번 째 특수 상황 은"Location:"로 표 시 됩 니 다.이 레이 블 을 브 라 우 저 로 보 내 는 것 뿐만 아니 라,이전에 3xx 상태 코드 를 보 내지 않 는 한 REDIRECT(302)상태 코드 를 브 라 우 저 로 되 돌려 줍 니 다.  주:HTTP/1.1 표준 은 절대 주소 의 URI 를 Location:의 매개 변수 로 해 야 하지만 일부 클 라 이언 트 는 상대 적 인 URI 를 지원 합 니 다.보통$사용 가능SERVER['HTTP_HOST']、$_SERVER['PHP_SELF']및 dirname()함수 로 상대 URI 에서 절대 URI 를 생 성 합 니 다: 주:session.use 를 사용 하 더 라 도trans_sid,Session ID 도 Location 헤더 정보 에 따라 전달 되 지 않 습 니 다.SID 상수 로 손 으로 전달 해 야 합 니 다.PHP 스 크 립 트 는 브 라 우 저 나 프 록 시 서버 에 캐 시 되 지 않 아야 하 는 동적 내용 을 만 듭 니 다.많은 프 록 시 서버 와 브 라 우 저 는 아래 의 방법 으로 캐 시 를 금지 할 수 있 습 니 다:주:위의 모든 코드 를 출력 하지 않 아 도 웹 페이지 가 버퍼 링 되 지 않 은 것 을 발견 할 수 있 습 니 다.사용 자 는 브 라 우 저의 기본 캐 시 행 위 를 바 꿀 수 있 는 옵션 이 많 습 니 다.위 레이 블 을 보 내 면 스 크 립 트 페이지 가 캐 시 될 수 있 는 모든 설정 을 덮어 쓸 수 있 습 니 다.또한,session 을 사용 할 때 session 을 이용 합 니 다.cache_limiter()함수 와 session.cachelimiter 옵션 은 정확 한 캐 시 관련 레이 블 을 자동 으로 만 드 는 데 사용 할 수 있 습 니 다.header()는 일반적인 HTML 태그,빈 줄,PHP 를 막론하고 실제 출력 전에 호출 되 어야 한 다 는 것 을 기억 해 야 합 니 다.흔히 볼 수 있 는 오 류 는 include(),require()또는 다른 파일 액세스 류 함수 로 코드 를 읽 을 때 일부 빈 칸 이나 빈 줄 이 header()를 호출 하기 전에 보 내 졌 다 는 것 이다.같은 단독 PHP/HTML 파일 에서 도 이 오 류 는 흔 하 다.      주:PHP 4 부터 일부 출력 버퍼 함 수 를 통 해 이 문 제 를 해결 할 수 있 습 니 다.대 가 는 명령 이 내 려 질 때 까지 브 라 우 저 에 대한 모든 출력 을 서버 에 캐 시 하 는 것 이다.코드 에서 ob 사용 가능start()및 obend_flush()를 통 해 이러한 기능 을 실현 하거나 php.ini 의 output 를 수정 합 니 다.buffering 설정 옵션 을 사용 하면 서버 설정 파일 을 수정 해서 도 가능 합 니 다.헤더()두 가지 상용 용법://페이지 인 코딩 설정:헤더('Content-Type:text/html;charset=gb2312'); //페이지 조정:헤더('위치:http://www.baidu.com');

좋은 웹페이지 즐겨찾기