CI 묻고 답하기

제목 route 사용자 이름으로 쓰기
글쓴이 a11629 작성시각 2013/08/28 16:44:42
댓글 : 7 추천 : 0 스크랩 : 0 조회수 : 12554   RSS
 route 설정을 변경하고 싶은데여....

1 . ex) localhost / user_name / class_name / method_name....
                          각각 사용자 이름       
2 . ex) localhost/ class_name / user_name / method_name...
                                      각각 사용자 이름


위 방법처럼 1,2번 처럼 route 설정으로 할수 있을까여??
방법을 잘 모르겠습니다....
여기서 막히네여.... 부탁드립니다. 예제가 있으시면 예제좀 보여주시면 감사하겠습니다^^

 
 다음글 컨트롤러랑 뷰 폴더를 옮길 수 있을까요??? (1)
 이전글 Input Class의 XSS를 스위치에 대한 질문입니... (2)

댓글

변종원(웅파) / 2013/08/28 16:53:57 / 추천 0
 user_name에 특정한 규칙이 있어야 대응을 할 수 있습니다.

$route['(:any)/sns/(:any)/(:any)'] = 'board/sns/$1/$2/$3';

응용해보세요.

// 짧은 주소 관련 라우터. 언더바로 시작하고 영문, 숫자포함 7자일 경우
$route['_([a-zA-Z0-9]{7})'] = 'shorturl/index/$1';


검색사이트에서 정규표현식 검색해서 내용도 좀 보시구요.
a11629 / 2013/08/28 17:41:54 / 추천 0
 말씀 주신데로 실행해보니 해결이 되었습니다!!^^
감사합니다!!ㅎㅎ 이것때문에 고민좀 했는데 해결되니 기쁘네여^^ 
또한번 감사합니다!!^^
a11629 / 2013/08/28 18:48:08 / 추천 0
 근데 한가지 문제점이 있습니다.
하다 보니.. 제가 설정을 잘못한거 같은데 어디가 문제 인지 모르겠습니다.

route.php
$route['(:any)/class_list'] = "class_list/index";



<a href="<?=$nick;?>/class_list">
위와 같이 링크 걸어서 넘겨습니다. 라우터는 위와 같이 설정을 했습니다.
클래스 에서는

class_list/index() 이렇게 아무것도 받지 않았습니다.

그런데 다 넘어가는데 문제는 user_name이 계속 url에 찍히고 넘어 갑니다!!
ex) john / class_list
      john / john / class_list
      john / john / john / class_list

이런식으로 말이죠??!..... 어떻게 해야 하나요???....


변종원(웅파) / 2013/08/28 18:59:19 / 추천 0
 / 를 빼먹으셨네요.

<a href="/<?=$nick;?>/class_list">
a11629 / 2013/08/28 20:27:36 / 추천 0
 죄송합니다...
그래도 계속
localhost/john/john/john/john/class_list
이렇게 찍히네여.....
<a href="/<?=$nick;?>/class_list"> 이렇게 말씀하신데로도 당연히 해봤지만, 그대로 입니다...

한대승(불의회상) / 2013/08/28 23:50:04 / 추천 0
url 헬퍼의 site_url 이나 base_url 함수를 사용해 보세요.

$this->load->helper('url');


<a href="<?=site_url("{$nick}/class_list")?>">

들국화 / 2013/08/29 10:00:34 / 추천 0
$route['(:any)/class_list'] = "class_list/index";

(:any) 라서 그런듯 하네요. 필요한 단어만 정규식으로 적어서 필터링해 보세요.