개발 Q&A

제목 로그인시 리다이렉션 질문드립니다.
글쓴이 책상다리 작성시각 2014/05/13 14:12:52
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 17164   RSS
예를들어...
www.test.com/notice/view/1234 /> 이 글을 보려고 합니다.
그런데 이 글을 보려면 로그인 권한이 필요합니다. 그래서 이 글을 클릭했을때 로그인 창으로 연결시키고, 로그인을 하면, 
www.test.com/notice/view/1234 이 페이지로 다시 가도록 하려고 합니다.
이전에 이 기능은 포럼소스 참고해서 구현한적도 있고, 그때 남겨둔것도 있어서 그대로 적용시켰는데요.
www.test.com/notice/view/12341 이렇게 뒤에 1이 붙어서 주소가 출력됩니다..(__);;;
만약 www.test.com/mypage 에 연결하려고 하면 www.test.com/mypage/1 이 되버립니다;;;;;
 
$rpath = str_replace("index.php/", "", $this->input->server('PHP_SELF'));
echo $this->input->server('PHP_SELF');
$rpath_encode = url_code($rpath, 'e');
echo "<script>alert('로그인 후 보실수 있습니다.');
document.location = '/auth/login/$rpath_encode';
</script>";
exit;

echo $this->input->server('PHP_SELF');
이 부분에서 출력하니, 뒤에 주소 1이 붙어 있다는걸 알았습니다.



function url_code($url, $type='e')
{
	if($type == 'e')
	{
		//encode
		return strtr(base64_encode(addslashes(gzcompress(serialize($url), 9))), '+/=', '-_.');
	}
	else
	{
		//decode
		return unserialize(gzuncompress(stripslashes(base64_decode(strtr($url, '-_.', '+/=')))));
	}
}

헬퍼에 url_code부분입니다.

주소 뒤에 항상 1이 붙는 이유가 뭘까요...혹시 이 소스 말고 다른데 원인이 있는걸까요;;?
 다음글 curl 옵션중CURLOPT_RETURNTRANSFER...
 이전글 파일 인코딩 질문 있어요 (5)

댓글

책상다리 / 2014/05/13 14:24:33 / 추천 0
아..사이트 자체적으로 echo $this->input->server('PHP_SELF'); 이걸 걸어보니 뒤에 1이 뜨는걸 알아냈습니다.
제가 짠곳이 아니다보니 이런...전체적으로 살펴봐야겠습니다;;;
책상다리 / 2014/05/13 15:08:08 / 추천 0
원인이 .htcaccess 안에
RewriteRule ^(.*)$ /index.php/$1 [L] 이부분이 RewriteRule ^(.*)$ /index.php/$11 [L]
로 되있었습니다. 왜 저기에 1이 하나 더 붙어있었는지 잘은 모르겠습니다만;;;;
잘 해결되었습니다;;;
수야디벨 / 2014/05/13 16:47:28 / 추천 0
;;; 자답의 좋은 예네요 ㅎㅎ