2011-12-08 3 views
1

CodeIgniter 페이지 매김 모듈에 문제가 있습니다.코드 점화기 404 페이지 오류

링크를 클릭하면 404 오류가 발생합니다. 내가 이해하고 잘못된 수 있습니다 있지만 오프셋을 결정하는 URI 세그먼트 내 컨트롤러의 인덱스 함수 내에서 읽을 수없는 것 및 해당 코드 점화 장치 실제로 컨트롤러 내부의 함수로 찾고 따라서 던지고 것 같습니다. 404 찾을 수 없을 때.

나는 인터넷 검색을 통해 해결책을 찾기 위해 포럼을 방문했지만 아무런 성공도 얻지 못했습니다. 누구든지 힌트 나 팁이 있다면 위의 컨트롤러, 모델 및 뷰에서 관련 코드를 포함 시켰습니다.

// 컨트롤러

$this->load->library('pagination'); 
$config['base_url'] = '/yourhistory/'; 
$config['total_rows'] = $this->db->get('gallery')->num_rows(); 
$config['per_page'] = 3; 
$config['uri_segment'] = 2; 
$this->pagination->initialize($config); 
$data['galleryitems'] = $this->pages_model->get_gallery($config['per_page'], $config['uri_segment']); 
$this->load->view('/gallery', $data); 

// 모델

function get_gallery($limit, $segment) 
{ 
    $query = $this->db->get('gallery', $limit, $this->uri->segment($segment)); 
    if ($query->num_rows > 0) 
    { 
    foreach($query->result() as $row) 
    { 
    $data[] = $row; 
    } 
    return $data; 
    } 
} 

//보기

echo $this->pagination->create_links(); 

답변

2

잘 그것 때문에 당신의 BASE_URL의 떨어져 첫번째 실패 할 것이다 : 당신은 URL을 제공하지 않는 한 난 그냥 여기 추측하고 altho 당신은 전체 경로를 필요

$config['base_url'] = 'http://example.com/index.php/test/page/'; 

여기 매김에 404

주의를 던지는 : http://codeigniter.com/user_guide/libraries/pagination.html

+0

나는 base_url()을 사용하여 작업하고있다. 'yourhistory/index /'; 분명히 yourhistory라는 컨트롤러를 가리키고 있습니다. 그러나 이것은 DB에 저장된 정보에 따라 모든 것을로드하는 컨트롤러로 리다이렉트하도록 경로를 설정 한 동적으로 생성 된 URL을 사용하기 때문에 일시적입니다. 그러므로 yourhistory/index /는 yourhistory/index /에 설정된 라우트가 아니므로 yourhistory/index /는 올바른 컨트롤러로 라우트되지 않습니다. 내가 생각할 수있는 유일한 해결책은 항목이 업로드 될 때마다 새로운 경로를 동적으로 생성하는 것입니다. 그러나 확실히 더 좋은 방법이 있습니까? – user1087944

+0

컨트롤러 내에서 사용자 지정 라우팅을 설정할 수 있으므로 url의 'yourhistory'부분 만 컨트롤러에 연결되고 나머지는 [_remap]이라는 함수에 의해 구문 분석됩니다 (http://codeigniter.com/user_guide /general/controllers.html#remapping) – minboost

+1

전설적인 환호! – user1087944

1

귀하의 BASE_URL이 올바르지 않습니다 :

 
//should be something like this 
$config['base_url'] = base_url().'/controllername/functionname/'; 

,

참조 : http://codeigniter.com/user_guide/libraries/pagination.html

+0

안녕하세요이 근무하고 감사합니다. 그러나 내 컨트롤러의 모든 코드는 base_url()과 같은 인덱스 함수에 있습니다. '/ yourhistory/index'; 색인을 제거하는 방법이 있습니까? – user1087944