제목 | [초보]라우팅에 관하여~ | ||
---|---|---|---|
글쓴이 | 헛발이 | 작성시각 | 2011/06/17 12:07:55 |
|
|||
바로 질문입니다.. 현재 HMVC를 사용중인데요... 보통 예를 들어서 notice라는 모듈이 있을 경우 실제 notice로 접속은 못하게 하고 자기가 정한 라우팅으로만 접속이 되게 하고 싶었습니다. 그래서 APP의 config에 라우팅파일에 //여기로는 접속을 못하게 막고 $route['notice'] = ''; //여기로만 접속이 되게 $route['news'] = 'notice';하면 동작을 하긴 하는데요.. 이렇게 되면 APP의 라우팅파일에 엄청 많은 라우팅을 하게 될거 같아서 모듈의 config폴더를 만들어서 라우팅파일을 그쪽에서만 관리 하고 싶었어요.. 즉 /modules/notice/config/routes 에다가 //여기로는 접속을 못하게 막고 $route['notice'] = ''; //여기로만 접속이 되게 $route['news'] = 'notice';이렇게요... 그런데 APP의 라우팅에 하면 적용이 되는데 모듈의 라우팅에 하면 동작이 둘다 라우팅이 되질 않네요... 그래서 APP의 라우팅에 $handle = opendir(SET_MODULES_ROOT); if ($handle) { while ( false !== ($module = readdir($handle)) ) { if (substr($module, 0, 1) != ".") { if ( file_exists(SET_MODULES_ROOT . $module . '/config/routes.php') ) { include(SET_MODULES_ROOT . $module . '/config/routes.php'); } } } }이런 형식으로 해서 APP에서 직접 작성한것처럼 해 봤는데도 마찮가지더라구요.. 제가 원하는 //여기로는 접속을 못하게 막고 $route['notice'] = ''; //여기로만 접속이 되게 $route['news'] = 'notice';를 구현할 수 있는 방법이 없을까요? |
|||
다음글 | 오랜만에 질문 하나요..상수 정의에 대해... (6) | ||
이전글 | select해서 뿌려주기~ 관해 여쭙니다 (6) | ||
변종원(웅파)
/
2011/06/17 23:05:46 /
추천
0
|
헛발이
/
2011/06/18 11:35:08 /
추천
0
혹시 다른 방법은 없을까요?
위처럼 하면 제가 원하는거랑 맞지 않는거 같은데요... class Notice extends CI_Controller { function index(){ //처리 } }가 원래 있는 상태인데... 라우팅을 사용하던 다른 방법을 사용하던 제가 원하는것은 URL로 접속했을때 모듈에 있으니 당연히 http://test.com/notice 라고 접속이 되잖아요~ 그런데.. 원하는것이.. http://test.com/notice 로는 접속이 불가능하게 하고... 제가 라우팅을 $route['news/(:any)'] = "notice/$1" $route['suda/(:any)'] = "notice/$1" $route['test/(:any)'] = "notice/$1"이렇게 하면 http://test.com/news 가 접속이 되고 http://test.com/suda 가 접속이 되고 http://test.com/test 가 접속이 되고 이렇게 하고 싶거든요.. 라우팅을 하는것은 어려운일이 아니지만 잘 안되는것이 원래 모듈명으로 접속을 못하게 하는게 잘 안되요... ㅡ.ㅡ;; |
한대승(불의회상)
/
2011/06/21 16:38:11 /
추천
0
컨트롤러는 배제하고 반드시 라우팅에서만 해야 하나요?
컨트롤러에서 제어한다면 인수가 안 넘어오면 뭔가 해주면 될거 같은데.. ^^ |
라우트 사용보다는 private 함수로 처리하는건 어떨까요?
class News extends CI_Controller {
function index(){
//news 일 경우 처리
$this->_notice();
}
function _notice(){
//처리
}
}