2016-10-25 2 views
0

이 자습서와 같은 사이트를 만들려고합니다. http://www.codeigniter.com/user_guide/tutorial/static_pages.html라우팅시 오류 404

라우팅에 문제가 있습니다. 나는 기본적으로 "createBook"페이지를 가지고 있으며, localhost를 호출하면 작업이된다! 하지만 localhost/createBook을 할 때 Error 404가 발생합니다. 내가 잘못하고있는 것은 무엇입니까?

내 컨트롤러에서 :

public function view($page = 'createBook') 
{ 
     if (! file_exists(APPPATH.'views/'.$page.'.php')) 
     { 
       // Whoops, we don't have a page for that! 
       show_404(); 
     } 
     $this->load->view($page); 
} 

routes.php 파일

$route['default_controller'] = 'Books/view'; 
$route['(:any)'] = 'Books/view/$1'; 

그리고 나는 내 견해는 '성공과 createBook

+0

당신의 htaccess가 수정 되었습니까? – devpro

+0

번. htaccess에서해야 할 일은 무엇입니까? –

+0

당신이'$ route [ '(: any)']'를 사용하고 싶다면'$ route [ 'default_controller']'를 사용하여 yru보다 다른 URL을 다치게 할 것입니다, 당신이 시도 할 때 contactus.php를 가지고 있다고 가정하십시오. Contactus 페이지 페이지를 열려면 – devpro

답변

0

내가 돈라는 이름의 폴더보기 파일이 정말 귀하의 질문을 얻을하지만 당신이 createBook라는 컨트롤러를 호출하려고하는 내게 보인다 f ROM에 URL을 쓴다. 그러나보기에는 뷰/createBook.php가 없다면 404, 어째서 404를 얻는 지, 뷰로 컨트롤러를 호출하기 때문에, 당신의 함수는 이 함수는 다음과 같아야한다고 생각한다. :

public function view($page = 'createBook') 
{ 
    if (! file_exists(APPPATH.'controllers/' . $page . '.php')) 
    { 
    // Whoops, we don't have a page for that! 
    $this->output->set_status_header('404'); 
    show_404(); 
    } 
    $this->load->view($page); 
} 

당신은 당신의 URL을 이런 식으로 뭔가를보고 싶은 경우

example.com/view/book/3 

컨트롤러은 다음과 같아야합니다

class View extends CI_Controller 
{ 
    public function book($book_id) 
    { 
    //Search the database for records about a book with its id, and return the data 
    //and assign it to a variable(in this case $data) ex : $data["book-name"] = ... 
    //And on your view you can call these values using ex : echo $book-name 
    $this->load->view('books_view', $data); 
    } 
} 

그리고.

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteRule .* index.php/$0 [PT,L] 

이 그런 다음 설정으로 이동,이 라인 변경 :

$config['index_page'] = ''; 

지금 당신은 당신의 모든 컨트롤러에 액세스 할 수 있습니다 옆의 index.php에 htaccess로 파일은 다음과 같이 보이는 이 방법 :

http://www.example.com/controller_name