<p>uri 세그먼트 2와 3을 사용하면 작동하지만 uri 세그먼트 4를 추가하면 작동하지 않습니다. </p><p>URL은 다음과 같습니다... http://localhost/maruf/writer-qb/bcs/44th-bcs-english/how-has-the-phrase-digital-detox- 본문에서 설명이 되었나요? </p><p>하지만 다음과 같이 표시됩니다... http://localhost/maruf/writer-qb/bcs/how-has-the-phrase-digital-detox-been-explained-in-the - 통로? 두 URL 모두 404를 표시합니다. </p><p>내 라우팅 설정은 다음과 같습니다.
<pre class="brush:php;toolbar:false;">$route['writer-qb/(:num)'] = 'writer-qb'; //공장
$route['writer-qb/(:any)/(:any)'] = 'writer-qb/writer_qb_details/$1/$2'; //공장
$route['writer-qb/(:any)/(:any)/(:any)'] = 'writer-qb/writer_qb_answer/$1/$2/$3'; //작동하지 않습니다</pre>
<p>내 컨트롤러는...</p>
<pre class="brush:php;toolbar:false;">공개 함수 인덱스(){
$data['qb_list'] = $this->Question_bank_model->get_qb_with_category(FALSE);
//바닥글 데이터
$data['main_content'] = 'write_qb';
$this->load->view('include/template',$data);
} // 잘 작동합니다
공개 함수 write_qb_details($category, $slug = NULL){
$config['uri_segment'] = 2;
$slug = $this->uri->segment(3);
//데이터
$data['qb_list'] = $this->Question_bank_model->get_qb_with_category(FALSE);
$data['qb_info'] = $this->Question_bank_model->get_qb_details($slug, $config['uri_segment']);
if(empty($data['qb_info'])){
show_404();
}
$data['url_slug'] = $data['qb_info']['qb_exam_slug'];
$data['meta_title'] = $data['qb_info']['qb_exam'];
$data['meta_description'] = $data['qb_info']['qb_exam_post_meta'];
$data['meta_keywords'] = $data['qb_info']['qb_exam_post_tags'];
//보다
$data['main_content'] = 'writer_qb_details';
$this->load->view('include/template',$data);
} // 잘 작동합니다
공개 함수 write_qb_answer($slug = NULL, $slug2 = NULL){
$config['uri_segment'] = 2;
$slug = $this->uri->segment(3);
$slug2 = $this->uri->segment(4);
//데이터
$data['qb_info'] = $this->Question_bank_model->get_qb_answer_details($slug, $slug2, $config['uri_segment']);
if(empty($data['qb_info'])){
show_404();
}
$data['url_slug'] = $data['qb_info']['qb_exam_question_slug'];
$data['meta_title'] = $data['qb_info']['qb_exam_question'];
$data['meta_description'] = $data['qb_info']['qb_exam_answer_meta'];
$data['meta_keywords'] = $data['qb_info']['qb_exam_answer_tags'];
//보다
$data['main_content'] = '답변';
$this->load->view('include/template',$data);
}// 작동하지 않습니다</pre>
<p>내 마음에 쏙 드는...</p>
<pre class="brush:php;toolbar:false;">공개 함수 get_qb_details($slug = FALSE){
if($slug === 거짓){
$this->db->order_by('qb_post.qb_exam_slug', 'DESC');
$this->db->join('qb_category', 'qb_category.qb_category_name_slug = qb_post.qb_category_name_slug');
$this->db->where('qb_exam_active',1);
$query = $this->db->get('qb_post');
$query->result_array()를 반환합니다.
}
$query = $this->db->get_where('qb_post', array('qb_exam_slug' => $slug));
$query->row_array()를 반환합니다.
}
공개 함수 get_qb_answer_details($slug2 = FALSE){
if($slug2 === 거짓){
$this->db->where('qb_exam_answer_active',1);
$query = $this->db->get('qb_exam_ans');
$query->result_array()를 반환합니다.
}
$query = $this->db->get_where('qb_exam_ans', array('qb_exam_question_slug' => $slug2));
$query->row_array()를 반환합니다.
}</pre>
<p>현재 "writer_qb_answer"中,以及재路由$route['writer-qb/(:any)/(:any)/(:any)'] = 'writer-qb/writer_qb_answer/$1/$2 /$3';中,不起작용。它显示404错误。</p>
경로가 겹칩니다.
으아악문서의 설명을 참조하세요.
참고 1:
참고 2:
참고 3:
경로는 필터가 아닙니다. (:any)를 사용하면 무엇이든 의미합니다! 첫 번째와 두 번째가 작동하는 이유는 무엇입니까? 숫자를 먼저 확인하기 때문에 첫 번째에서 포착되지 않은 모든 항목은 두 번째에서 포착됩니다. 즉, 세 번째는 절대 작동하지 않습니다. 마치 if...else...not if...else if...else...