질문 Q #9124
iis7 에서 에러...
달뚱이 2010-10-27 12:03:08
codeigniter의 show_404() 을 호출하면 codeigniter에 있는

'/application/errors/error_404.php'를 보여주는 것이아니라, iis7에 있는 서버오류를 보여주네요..

codeigniter로 보여줄 수 있는 방법 없을까요? ㅜㅜ
답변 6
#1 변종원(웅파) 2010-10-28 12:55:36
#2 배강민 2010-10-28 12:56:05
IIS는 별로 안써봐서 잘은 모르겄지만.. 위 상황이라면... IIS가 이기고(?)있는가부네용...

IIS에 에러별로 페이지 연결시키는게 있을텐데요...

위 문제가 아니라면....
#3 배강민 2010-10-28 12:56:45
헛.. 글쓰고나니 웅파님의 코멘트가 띵...ㅋ... 네.. 조렇게 생긴 설정부분이용..ㅋ
#4 달뚱이 2010-10-28 14:17:32
iis 오류정의를 그대로 두고 보여줄 수 있는 방법이 궁금하네요..

Exceptions에서

	function show_error($heading, $message, $template = 'error_general', $status_code = 500)
	{
		set_status_header($status_code);
		
		$message = '<p>'.implode('</p><p>', ( ! is_array($message)) ? array($message) :
                              $message).'</p>';

		if (ob_get_level() > $this->ob_level + 1)
		{
			ob_end_flush();	
		}
		ob_start();
		include(APPPATH.'errors/'.$template.EXT);
		$buffer = ob_get_contents();
		ob_end_clean();
		return $buffer;
	}
위 중

set_status_header($status_code);
부분을 삭제하면 codeigniter가 처리하는데 먼가 석연치 않고...
#5 변종원(웅파) 2010-10-28 15:19:55
달뚱이님이 올리신 대로 사용하시면 되겠네요.

set_status_header(404); <- 말 그대로 404 에러에 해당하는 헤더를 보내는 건데
이걸 iis에서 자기의 404 에러로 연결하는 겁니다.
#6 달뚱이 2010-10-28 16:10:13

그런거 같더라구요..

그냥 삭제하고 해야겠군요... 감사합니다.