2013-05-14 2 views
0

CodeIgniter 1.9를 사용하여 웹 사이트를 구축하고 있습니다. Codeigniter에서 작동하지 않는 경로

나는 내 routes.php 파일은 다음과 같습니다 2.

의 ID와 사용자의 프로필 페이지에 데려다 http://myurl.com/index.php/user/profile/2를 원한다.

$route['default_controller'] = 'welcome'; 
$route['404_override'] = ''; 
$route['user/profile/(:num)'] = 'user/profile_view/$1'; 

내 user.php 파일은 다음과 같습니다.

class User extends CI_Controller { 

    function __construct() 
    { 
     parent::__construct(); 
     $this->load->model('user_model'); 
    } 

    function profile_view($id) 
    { 
      $data = array(); 
     log_message("info", "I am in the profile_view method of user.php."); 

     $this->load->view("templates/header", $data); 
     $this->load->view("templates/footer", $data); 
    } 
} 

이 코드는 결코 log_message() 함수에 그것을 만들기되지 않고 정확히이라는 500 오류 ... 던지고있다

HTTP 오류 500 (내부 서버 오류) : 예기치 않은 서버가 요청을 수행하는 동안 조건이 발생했습니다.

도움을 주시면 감사하겠습니다. 나는 지금 운이없는 몇 시간을 찾고 있었다.

+0

apache/webserver 로그의 내용은 무엇입니까? htaccess를 사용하고 있습니까? – stormdrain

+0

온전한 확인 : 라우팅되지 않은 URL이 작동합니까? 'http : // myurl.com/index.php/user/profile_view/2' 나는이 문제가 라우팅과 직접 관련이 있는지 의심 스럽다. –

+0

아니요, 라우팅되지 않은 URL이 작동하지 않습니다. 다른 경로가 작동 중이므로 라우팅 문제라고 가정했습니다. 코드는 라우팅 잘 전달되었다 (나는 라우팅하기 직전에 log_message 호출을했다). 그러나 컨트롤러에 연결되지 않습니다. –

답변

0

전달한 $ 데이터가 초기화되지 않았습니다. 아마 당신의 오류 500은 그것으로부터옵니다. log_message 전에 다음 문을 입력하십시오.

$data = array(); 

이 수정 후 오류가 있으면 알려주십시오.

+0

필자는 그것이 PHP 고지를 유발할 것이라고 생각합니다. (그러나 좋은 점은 어쨌든) –

+0

그래, 여전히 실패합니다. 사실 $ 데이터를 설정하고 있지만 디버깅하기 쉽도록 생필품을 제외한 모든 것을 주석 처리했습니다. 좋은 캐치. "$ data = array();"를 추가했습니다. 확인차. –

0

라우팅이 약간 꺼져있을 수 있습니다. 사용해보기 :

$route['user/profile'] = 'user/profile_view'; 

사용자 컨트롤러는 URL에서 들어오는 매개 변수를 잘 볼 수 있어야합니다.

0

PHP 오류 로그를 지적 해 주셔서 감사합니다. 내 모델 코드에 문제가있었습니다.

$return_array = []; 

...

가 내 배열 초기화로 ... 나는 분명히 완전히 다음에 하나 개의 언어에서 정신 스위치를 만들어하지 않았 내가 넣어했다. PHP 로그는 올바른 방향으로 나를 가리켰다.

모두에게 도움을 주셔서 감사합니다.

관련 문제