>백엔드 개발 >PHP 튜토리얼 >NGINX는 404 오류 페이지 리디렉션을 구성합니다.

NGINX는 404 오류 페이지 리디렉션을 구성합니다.

WBOY
WBOY원래의
2016-07-25 08:46:491069검색
404 페이지란 무엇입니까
웹 사이트에 문제가 있거나 사용자가 404 페이지에 접속하려고 하는 경우 존재하지 않으면 서버에 404 코드의 오류 메시지가 반환되며 이때 해당 페이지는 404 페이지입니다. 404 페이지의 기본 내용은 특정 서버와 관련되어 있습니다. NGINX 서버가 백그라운드에서 사용되는 경우 404 페이지의 내용은 다음과 같습니다.
404 Not Found
nginx/0.8.6
404 페이지를 맞춤설정해야 하는 이유
방문 시 위의 404 오류 페이지가 나타나면 99%(미조사, 추정 데이터)의 사용자가 페이지를 닫고 사용자는 조용히 사라질 것이라고 생각합니다. 이때 사용자가 가고 싶은 곳으로 안내할 수 있는 아름다운 페이지가 있다면 분명 사용자를 유지할 수 있을 것입니다. 따라서 모든 웹사이트는 자체 404 페이지를 맞춤설정해야 합니다.
NGINX에서 404 페이지를 사용자 정의하는 방법
IIS 및 APACHE에서 404 페이지를 사용자 정의하는 경험을 소개하는 기사가 이미 많이 있지만 현재는 NGINX에 관한 기사는 상대적으로 적습니다. 우연히도 내 서버 중 일부는 NGINX로 구동되며 내 문제를 해결하기 위해 이에 대한 심층적인 연구를 수행했습니다. 연구 결과에 따르면 NGINX에서 맞춤형 404 페이지를 구성하는 것이 가능하며 다음 단계만 수행하면 됩니다.
1.자신만의 404.html 페이지 만들기
2.http 정의 영역에서 nginx.conf를 변경하고 다음을 추가합니다.
fastcgi_intercept_errors on;
3.변경 서버 영역의 nginx.conf 추가됨:
error_page 404 = /404.html
4.nginx.conf 정확성 테스트:
/opt/ nginx/sbin/ nginx –t
올바른 경우 다음 정보가 표시되어야 합니다.
구성 파일 /opt/nginx/conf/nginx.conf 구문은 괜찮습니다.
구성 파일 /opt/nginx/conf/nginx.conf 테스트가 성공했습니다
kill -HUP `cat /opt/nginx/nginx.pid `
구성 파일 예:
...
  1. http
  2. {
  3. include mime.types;
  4. default_type 애플리케이션/옥텟-스트림 ;
  5. charset gb2312;
  6. client_header_buffer_size 32k; client_max_body_size 8m; ;
  7. 파일 보내기;
  8. tcp_nopush on;
  9. keepalive_timeout 60;
  10. tcp_nodelay on;
  11. fastcgi_read_timeout
  12. fastcgi_buffer_size 64k;
  13. fastcgi_buffers 4 64k;
  14. fastcgi_busy_buffers_size 128k;
  15. fastcgi_temp _file_write_size 128k;
  16. gzip on;
  17. gzip_min_length 1k;
  18. gzip_buffers 4 16k;
  19. gzip_types 텍스트/일반 애플리케이션/x-javascript 텍스트/css 애플리케이션/xml;
  20. #limit_zone 크롤러 $binary_remote_addr 10m;

  21. 코드 복사


  22. #65의 구성정보



  23. 서버

  24. {

  25. 듣기 80
서버_이름 www.65.la 65.la *.65 .la;
인덱스 index.html index.htm index.php
루트 /opt/www/65> 위치 ~ .*.(php|php5) ?$
{                                                                                                                  gi_index.php;
include fcgi.conf;
error_page 404 = /404.html;

  1. 코드 복사


  2. #502 및 기타 오류도 동일한 방식으로 구성할 수 있습니다.

    1. error_page 500 502 503 504 = /50x.html;
    2. 위치 = /50x.html {
    3. html; log_format                                                                                                                           http_user_agent" $http_x_forwarded_for';
    4. access_log /opt/nginx/logs/65.log 65;
    5. }

    6. 코드 복사


    7. ......
    참고:
    1. 필수 추가: fastcgi_intercept_errors on; 생성 및 구성된 error_page도 효과가 없습니다.
    fastcgi_intercept_errors 구문: fastcgi_intercept_errors on|off 기본값: fastcgi_intercept_errors off 위치 추가: http, server, location 기본적으로 nginx는 사용자 정의 404 오류 페이지를 지원하지 않습니다. 이 지시문이 on으로 설정된 경우에만 nginx는 404 오류 재설정을 지원합니다. . 여기서 주목해야 할 점은 fastcgi_intercept_errors on이 설정된 경우 nginx가 404 오류를 리디렉션한다는 의미는 아니라는 것입니다. nginx에서 404 오류 리디렉션이 적용되기 위한 전제 조건은 fastcgi_intercept_errors를 on으로 설정하고 error_page 옵션을 올바르게 설정하는 것입니다(문법 및 해당 404 페이지 포함)
    2. 문제를 해결하거나 오류를 늘릴 목적으로 홈페이지를 변경하지 마십시오. 404에러 페이지로 지정하시고, 다른 방법으로 홈페이지로 이동하지 마세요.
    3. 사용자 정의 404 페이지는 512바이트보다 커야 합니다. 그렇지 않으면 IE 기본 404 페이지가 나타날 수 있습니다. 예를 들어 404.html이 사용자 정의되어 있고 크기가 11바이트(내용은 404 오류)라고 가정합니다. 다음 두 개의 존재하지 않는 주소를 사용하여 액세스하십시오:
    생성된 404 페이지를 어디에 배치해야 하는지 질문해 보세요. 아직 시도해보지 않았습니다
    @5169.info 어디에나 배치할 수 있습니다. 이 구성 줄을 변경하세요. error_page 404 = /404.html;

    @5169.info
    어디에나 배치할 수 있습니다. 이 구성 줄을 변경하세요.
    error_page 404 = /404.html;

    즉, 각 하위 사이트마다 404 파일을 복사해야 하는데 이렇게 할 수 있나요
    error_page 404 = ../404.html;
    404 한세트만 만들어서 htdocs 밑에 넣어주시면 됩니다

    현재 이 글에 대한 트랙백이나 핑백이 없습니다.


    참고

    : 댓글 작성자는

    '@user:' 다른 댓글 작성자에게 귀하의 댓글을 알리기 위해. 예를 들어 ABC가 이 기사의 댓글 작성자 중 하나인 경우 작은따옴표 없이 '@ABC)를 사용하면 댓글이 자동으로 ABC로 전송됩니다.
    사용자는 댓글 작성자 이름과 일치해야 하며 대소문자를 구분해야 합니다.
    start.jpg (412.91 KB, 다운로드 수: 35)
    NGINX는 404 오류 페이지 리디렉션을 구성합니다. 첨부파일 다운로드
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.