| 제목 | 세그먼트 url 방식 오류 | ||
|---|---|---|---|
| 글쓴이 | 용용 | 작성시각 | 2011/09/26 19:40:16 | 
|  | |||
| 안녕하세요 하도 안되서 질문 글을 올리게 되었습니다. 현재 세그먼트 방식으로 GET으로 간단한 값을 넘기고 있는데요 -------------------------------------------------------------------------------------------------- 첫번째 검색에서는 /c_strategy/itemsearch/search_key/제목 위와 같이 url 이 잘 넘어가나 -------------------------------------------------------------------------------------------------- 같은 페이지에서 한번 검색을 한 후 다시 검색을 할 경우 /c_strategy/itemsearch/search_key/제목?search_key=내용 위와 같이 넘어가게 됩니다. -------------------------------------------------------------------------------------------------- 즉 기존 Url 세그먼트가 변경이 안되고 뒤에 파라미터 형식으로 ? 가 붙게 되는데요 당췌 이유를 몰라 문의 드립니다. config 설정은 아래와 같이 되어있습니다. ------------------------------------------------------------------------------------ $config['uri_protocol'] = 'PATH_INFO' ; $config['permitted_uri_chars'] = ''; $config['enable_query_strings'] = FALSE; $config['cache_path'] = ''; ------------------------------------------------------------------------------------ 그리고 같은 페이지에서의 url 값이 초기화가 안되는데 무슨 문제일까요.. ex) /c_strategy/itemsearch/itemsearch/search_key/제목 위와 같이 url이 될 경우 같은 페이지에서 document.location.href = /c_strategy/itemsearch/key_code/상점 이라고 검색 할 경우 위의 serarch_key 세그먼트 변수의 값이 controller 에서 남아 있습니다. 당췌 이유가 뭘까요 ㅠㅠ; | |||
| 다음글 | CI에서의 이미지맵 기능에 대하여 (4) | ||
| 이전글 | 레이아웃(템플릿) 라이브러리에 대한 질문인데요.. (2) | ||
| 
                                변종원(웅파)
                                /
                                2011/09/26 22:22:30 /
                                추천
                                0
                             | 
| 
                                용용
                                /
                                2011/09/28 11:07:57 /
                                추천
                                0
                             
                                웅파님 답변 감사합니다. ^^; 하지만 GET방식의 ? 가 붙는 문제는 이상하게 해결이 안되네요 그냥 POST로 처리하기로 했습니다. ^^ | 
| 
                                변종원(웅파)
                                /
                                2011/09/28 13:13:00 /
                                추천
                                0
                             
                                 저도 동일한 경험이 있었는데 원인은 못찾았습니다. 그냥 index.php에서 ?가 있는 경우에 빼버리도록 프로그램해서 썼습니다. 특정 아이피에서 접속을 하면 그렇게 되더라구요. codeigniter-kr.org로 접속을 했는데 index.php에서 값을 찍어보니 아래와 같이 나왔습니다. [QUERY_STRING] => index [REQUEST_URI] => /?index[SCRIPT_NAME] => /index.php ?가 붙어서 에러.. $base_url = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == "on") ? "https" : "http"); $base_url .= "://" . $_SERVER['HTTP_HOST']; $base_url .= str_replace(basename($_SERVER['SCRIPT_NAME']), "", $_SERVER['SCRIPT_NAME']); if($_SERVER['QUERY_STRING'] == 'index' or $_SERVER['QUERY_STRING'] == '/'){ ?> <script>location="<?=$base_url?>index.php";</script> <?} | 
자동으로 덮어쓰지 않습니다.
포럼 소스 board.php 컨트롤러 보시면 주소 찾아서 지우는 부분이 있습니다.
참고하세요.