CI 묻고 답하기

제목 URL을 seqment로 전달하는 방법
글쓴이 초원을달리는유부남 작성시각 2009/12/28 15:58:13
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 30473   RSS
안녕하세요~
로그인 인증 페이지에서 로그인이 안되어 있으면, 로그인 후 현재의 페이지로 돌아오는 부분에서 문제가
발생하였습니다.

URL에 urlencode 값을 sequment로 넣었더니, 페이지가 열리지 않습니다.
어떻게들 해결하시는지요?


http://www.example.com/members/login_form/rtn_url/%2Fmembers%2Flogin_area%2F

호출하면 아래처럼 에러가 납니다.

객체 없음!

요청한 URL을 이 서버에서 찾을 수 없습니다. 이전 페이지에 있는 링크가 잘못되었거나 오래되어 없어진 것 같습니다. 그 페이지를 만든이에게 이 사실을 알려주시기 바랍니다.

만약 이것이 서버 오류라고 생각되면, 웹 관리자에게 연락하시기 바랍니다.

Error 404

www.example.com
2009-12-28 ¿ÀÈÄ 3:57:23
Apache/2.2.12 (Win32) DAV/2 mod_ssl/2.2.12 OpenSSL/0.9.8k mod_autoindex_color PHP/5.3.0 mod_perl/2.0.4 Perl/v5.10.0
 다음글 결국 CI session library는 (9)
 이전글 라이브러리에서 session 불러오는법? (12)

댓글

헛발이 / 2009/12/28 16:11:30 / 추천 0

혹시 이 문제 아닌가요? 저도 전에 웅파님께 들은 이이기 인데요...
config에서
$config['permitted_uri_chars'] = 'a-z 0-9~%.:_\-';   //이부분을
$config['permitted_uri_chars'] = ''; 이렇게 해서 해결된적이 있었는데..
이 문제는 아닌가요?

http://codeigniter-kr.org/qna/view/1645/page/2/


아니면 웹관리자에게 물어 보셔야 할듯 싶은데요... ^^;

변종원(웅파) / 2009/12/28 16:14:12 / 추천 0
%2F 이게 "/"죠.... 결국..
/rtn_url//members/login_area/ 이렇게 되서 에러가 생길 수 있습니다.
전 base64_encode()로 처리하고 있습니다.
포럼 로그인 부분 소스 보시면 될겁니다.
http://codeigniter-kr.org/auth/login/L2luZGV4LnBocA==

아. 맞다. 헛발이님 말씀도 맞습니다. ^^

추가. rawurlencode()을 이용하셔도 됩니다.

초원을달리는유부남 / 2009/12/29 10:15:36 / 추천 0

[설정]
$config['permitted_uri_chars'] = '';

[슬래시 사이의 값의 구분값]
base64_encode() 함수로 감싼다.

해결되었습니다. 감사합니다.