>운영 및 유지보수 >엔진스 >Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

王林
王林앞으로
2023-05-26 21:47:313898검색

404 페이지 기본 구성
404 오류는 www 웹사이트 접속 시 흔히 발생하는 오류입니다. 가장 일반적인 오류 메시지: 404 찾을 수 없습니다. 404 오류 페이지의 설정은 웹 사이트의 SEO에 큰 영향을 미칩니다. 홈페이지로 직접 리디렉션하는 등 부적절한 설정은 검색 엔진에 의해 강등되고 뽑힐 것입니다. 404 페이지의 목적은 사용자에게 요청한 페이지가 존재하지 않음을 알리고 사용자가 창을 닫고 떠나는 대신 웹사이트의 다른 페이지를 탐색하도록 안내하는 것입니다. 검색 엔진은 http 상태 코드를 사용하여 웹 페이지의 상태를 식별합니다. 검색 엔진이 잘못된 링크를 획득하면 웹 사이트는 404 상태 코드를 반환하여 검색 엔진에 링크 색인 생성을 중단하라고 알려야 합니다. 200 또는 302 상태 코드가 반환되면 검색 엔진은 링크를 색인화하여 동일한 웹 페이지 콘텐츠를 가리키는 수많은 다른 링크를 생성합니다. 그 결과 웹사이트에 대한 검색 엔진의 신뢰도가 크게 떨어졌습니다.
다음은 nginx 404 오류 페이지를 설정하기 위한 lnmp 튜토리얼입니다:
1.

vi /usr/local/nginx/conf/nginx.conf

nginx 구성 파일을 편집하고 http 섹션에 다음 코드를 추가합니다:

fastcgi_intercept_errors on;

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

2.

vi /usr/local/nginx/conf/vhost/onelone.com.conf

, 서버 섹션에 다음 코드를 추가하세요:

error_page 404 = /404.html;

참고: 일부 네티즌들은 업스트림 코드가 올바른 404 상태를 반환하기 위해 등호를 제거해야 한다는 것을 테스트했습니다. 등호를 제거해야 하는지 테스트합니다.

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

3. 구성 파일이 올바른지 테스트합니다.

/usr/local/nginx/sbin/nginx -t

, 다음 코드를 반환하여 전달합니다.

the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
configuration file /usr/local/nginx/conf/nginx.conf test is successful

4를 적용하려면 lnmp를 다시 시작합니다.

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

5. 404 오류 페이지 생성 시 참고 사항:
(1) 404 오류를 웹사이트 홈페이지로 리디렉션하지 마세요. 그렇지 않으면 홈페이지가 검색 엔진에서 순위가 ​​낮아지거나 사라질 수 있습니다. ​
(2) 절대 URL을 사용하지 마세요. 절대 URL을 사용하는 경우 반환되는 상태 코드는 302+200이므로 중복된 웹페이지가 많이 생성됩니다.
(3) 404 페이지 설정이 완료되었으니, 맞는지 꼭 확인해주세요. 반환된 http 헤더 정보는 404 상태여야 합니다. 이는 서버 헤더 정보 검사 도구를 통해 확인할 수 있습니다.
(4) 자동으로 404 페이지로 이동하지 않고 사용자가 어디로 이동할지 결정하도록 합니다.
사용자 정의 404 페이지는 512바이트보다 커야 합니다. 그렇지 않으면 ie의 기본 404 페이지가 나타날 수 있습니다.

Ajax에서 요청한 404 페이지가 반환됩니다
몇일 전 친구가 프로그램에 문제가 있었는데 아무리 확인해봐도 문제를 찾을 수 없어서 도와달라고 요청했습니다. 실제로 많은 템플릿을 요청한 다음 해당 템플릿을 페이지에 작성하는 것은 ajax입니다. 핵심은 요청된 모든 페이지가 200 일반 상태 코드를 반환한다는 것입니다. 실제로는 일부 요청이 200 상태 코드를 반환하더라도 반환되는 상태 코드는 200입니다. 웹 서버는 nginx이며 nginx의 404 오류 페이지를 구성해야 한다고 직접 알려주었습니다. 존재하지 않는 리소스에 대한 요청이 404 페이지를 성공적으로 반환할 수 있지만 반환 상태 코드는 실제로 200입니다.

404.html
this is 404 page.

존재하지 않는 페이지 요청:

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

ajax 코드:

$.ajax({
 url: "does_not_exist.html",
 success : function(response, textstatus){
 console.log(textstatus+":"+response);
 },
 error : function(xmlhttprequest, textstatus, errorthrown){
 console.log([xmlhttprequest, textstatus, errorthrown].join(","));
 }
});

실행 결과:

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

세부 정보를 보려면 개체 입력:

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

찾을 수 없음 요청한 페이지 404 페이지 정보를 반환하지만 상태 코드가 여전히 200이므로 jquery는 오류 함수 콜백을 사용하지 않고 성공 콜백을 직접 사용합니다.
구성에 문제가 있을 것이므로 nginx.conf를 열었고 해당 구성이 다음과 같이 기록되어 있음을 발견했습니다.

error_page 404 = /404.html;

그래서 공식 웹사이트 문서를 확인하고 위 표현식을 다음과 같이 다시 작성했습니다.

error_page 404 /404.html;

그런 다음 다시 시작하세요

d:\nginx-1.5.11>nginx.exe -s reload

다시 와보세요:

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

ajax 요청을 다시 살펴보겠습니다:

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

분명히 빨간색 404 상태 코드를 반환하는 이전 코드와 비교하면 console.log에서 나오는 내용은 무엇입니까? 아래는

[object object],error,not found

이고 개체 입력을 클릭하여 확인하세요.

Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청

상태 값은 404입니다. 404 페이지를 반환할 수 있을 뿐만 아니라 404 상태 코드도 반환하므로 ajax 요청은 상태 코드를 기반으로 페이지 요청 상태를 판단하고 오류를 처리할 수 있습니다.

다음은 다른 네티즌들이 추가한 내용입니다:

1. nginx 오류 페이지가 우아하게 표시되는 이유는 무엇입니까?
웹사이트 방문 시 특별한 사유로 인해 403, 404, 503과 같은 오류가 자주 나타나는데, 이는 사용자의 접속 경험에 큰 영향을 미치므로 사용자의 브라우징을 개선하기 위해 오류 페이지를 우아하게 표시하는 것이 필요합니다. 경험.

2. nginx에서 우아하게 표시되는 페이지를 정의하는 방법은 무엇입니까?
404 오류를 예로 들어 보겠습니다.
1. 자신만의 404.html 페이지를 만들어 사이트 디렉토리에 배치합니다.
2. nginx.conf 구성 파일을 변경하고 fastcgi_intercept_errors를 추가합니다.
3. nginx.conf 구성 파일을 변경하고 error_page 404 /404.html; 또는 error_page 404 =http://www.hulala.com/404.html;
4 구문을 확인하세요. / sbin/nginx -t 변경 후 nginx를 다시 시작하세요.
이제 404 오류 페이지의 우아한 표시가 구성되었습니다.

응용 프로그램: 502, 403 및 기타 오류도 동일한 방식으로 구성할 수 있습니다.
error_page 500 502 503 504 /50x.html;
error_page 403 /403.html;
참고:
nginx에서 오류 리디렉션을 적용하려면 fastcgi_intercept_errors on이 설정되어 있고 error_page 옵션이 올바르게 설정되어 있어야 합니다.

위 내용은 Nginx에서 404 페이지를 구성하는 방법 및 404 페이지를 반환하기 위한 AJAX 요청의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제