이 글은 2년 이상 지난 이야기에요. 읽으실때 참고!
Nginx 404 리다이렉트

잘못된 경로로 서버에 요청했을 경우 일반적으로 Nginx 서버가 만들어주는 404 Not Found 디폴트 페이지가 보입니다.

 

 

뭐 이대로 그냥 보여줘도 되지만 검색엔진 최적화(SEO)나 봇들은 이 페이지를 사용자에게 보여준다는거 자체에 감점요인이 많은것 같더군요.

흔히말해서 사용자가 좀더 직관적으로 이해할 수 있는 404 페이지가 필요하다 그 말이죠.

 

그래서 온라인에 404 페이지 디자인을 찾아보면 정말 여러 디자인이 있습니다. 이미 큰 사이트들은 이런 작업을 해놨기 때문에 에러페이지도 딱딱하지않게 느껴지는곳도 많고요.

 

Nginx 환경에서 이 404 페이지를 어떻게 리다이렉트 시키는지 알아봅시다.

 

일단 당연히 404 페이지가 필요하겟죠!

루트 경로에 404.html 이나 404.php 를 만들어줍니다. 그리고 이쁘게 404 페이지를 만들어줍니다.

 

그리고 터미널을 이용해 nginx 의 설정파일 위치로 이동하고 아래 스샷처럼 에러페이지 구문을 추가해줍니다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
#sudo vi /etc/nginx/sites-available/default
...
 
server {
    ...
    
    error_page 404 /404.php;
 
    location ~ \.php$ {
        ...
        
        fastcgi_intercept_errors on;
    }
 
    ...
}
 
cs

 

위치가 어려워요... 검색하면 방법은 참 많이들 가르켜주는데 라인코드만 가르켜준단 말이에요. ㅜㅜ

여튼 위의 설정값을 껴놓고 Nginx를 재시작 해줍시다.

 

1
2
$ sudo service nginx reload
 
cs

 

그리고 강제로 404 에러를 유발하는 페이지접근을 시도하면...

 

 

참 쉽죠잉?

 

D.2019-03-19 V.422