PHP를 사용하여 오류 404 페이지를 만드는 방법
내 파일.htaccess
에서의 모든 요구를 처리하다/word_here
내부 엔드 포인트로/page.php?name=word_here
그러면 PHP 스크립트는 요청된 페이지가 해당 페이지 배열에 있는지 확인합니다.
그렇지 않은 경우 오류 404를 시뮬레이션하려면 어떻게 해야 합니까?
시도했지만 404 페이지가 설정되지 않았습니다.ErrorDocument
에서.htaccess
나타났어.
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
에러 404 페이지로 리다이렉트 하는 것이 잘못되었다고 생각하는 것이 맞습니까?
404 페이지 생성에 대한 최신 답변(PHP 5.4 이후)은 다음을 사용하는 것입니다.
<?php
http_response_code(404);
include('my_404.php'); // provide your own HTML for the error page
die();
die()
반드시 필요한 것은 아니지만 정상적인 실행을 계속하지 않도록 합니다.
실행 중인 작업이 작동하며 브라우저에 404 코드가 수신됩니다.예상할 수 있는 "찾을 수 없음" 페이지는 표시되지 않습니다.예를 들어 다음과 같습니다.
찾을 수 없음
요청된 URL/test.이 서버에서 php를 찾을 수 없습니다.
이는 PHP가 404 코드를 반환할 때 웹 서버가 해당 페이지를 보내지 않기 때문입니다(적어도 Apache는 보내지 않습니다).PHP는 자체 출력을 모두 전송합니다.따라서 비슷한 페이지를 원한다면 HTML을 직접 전송해야 합니다. 예를 들어 다음과 같습니다.
<?php
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found", true, 404);
include("notFound.php");
?>
다음 내용을 httpd.conf에 입력하면 Apache가 404 메시지에 동일한 페이지를 사용하도록 설정할 수 있습니다.
ErrorDocument 404 /notFound.php
이것을 시험해 보세요.
<?php
header("HTTP/1.0 404 Not Found");
?>
.htaccess 파일을 통해 사용자 지정 오류 페이지 생성
1. 404 - 페이지를 찾을 수 없습니다.
RewriteEngine On
ErrorDocument 404 /404.html
2. 500 - 내부 서버 오류
RewriteEngine On
ErrorDocument 500 /500.html
3. 403 - 금지
RewriteEngine On
ErrorDocument 403 /403.html
4. 400 - 잘못된 요청
RewriteEngine On
ErrorDocument 400 /400.html
5. 401 - 인가 필요
RewriteEngine On
ErrorDocument 401 /401.html
모든 오류를 한 페이지로 리디렉션할 수도 있습니다.맘에 들다
RewriteEngine On
ErrorDocument 404 /404.html
ErrorDocument 500 /404.html
ErrorDocument 403 /404.html
ErrorDocument 400 /404.html
ErrorDocument 401 /401.html
헤더를 보낸 후 die()를 잊지 않으셨습니까?404 헤더는 자동으로 처리를 정지하지 않기 때문에 추가 처리가 발생하면 아무것도 하지 않은 것처럼 보일 수 있습니다.
404 페이지로 리디렉션하는 것은 좋지 않지만, 404 페이지에 있는 내용은 문제 없이 포함할 수 있습니다.이렇게 하면 올바른 URL에서 404 상태를 올바르게 전송하는 페이지가 있지만, 인간 판독기를 위한 "뭘 찾고 계십니까?" 페이지도 있습니다.
퍼팅을 시도하다
ErrorDocument 404 /(root directory)/(error file)
에.htaccess
파일.
모든 오류에 대해 이 작업을 수행하되 오류는 404로 대체하십시오.
Drupal 또는 Wordpress CMS(및 기타)에서 커스텀 php 코드가 존재하지 않는 것처럼 보이게 하려고 할 경우(일부 조건이 충족되지 않는 한), CMS의 404 핸들러를 넘겨받음으로써 다음과 같이 동작합니다.
<?php
if(condition){
do stuff;
} else {
include('index.php');
}
?>
행 , 이 행의 .exit
★★★★★★★★★★★★★★★★★」die()
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
exit;
또는
header($_SERVER["SERVER_PROTOCOL"]." 404 Not Found");
die();
이거 한 번만 해봐.
$wp_query->set_404();
status_header(404);
get_template_part('404');
언급URL : https://stackoverflow.com/questions/1381123/how-to-create-an-error-404-page-using-php
'IT' 카테고리의 다른 글
mysql.sock을 찾을 수 없습니다. (0) | 2023.02.06 |
---|---|
Larabel 5.4 및 Mariadb에서 너무 많은 연결 오류 발생 (0) | 2023.02.06 |
PHP에서 문자열의 일부를 제거하려면 어떻게 해야 합니까? (0) | 2023.02.06 |
@see와 @inheritDoc의 차이점 상세 (0) | 2023.02.06 |
Ng-model이 컨트롤러 값을 업데이트하지 않음 (0) | 2023.02.06 |