제목 | 세그먼트 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 컨트롤러 보시면 주소 찾아서 지우는 부분이 있습니다.
참고하세요.