2011-02-26 6 views
0

Kohana 3 라우팅 메커니즘은 쿼리 문자열 매개 변수를 무시합니다 (예 : this thread 참조). 그러나 이것은 내 응용 프로그램에서 볼 수있는 동작이 아닙니다.Kohana 3 경로 및 쿼리 문자열

노선은과 같이 정의된다 :

Route::set('an_action', 'admin/an_action(/<id>)') 
->defaults(array(
    'directory'  => 'admin', 
    'controller' => 'welcome', 
    'action'  => 'an_action', 
)); 

동작 자체는 라우팅이 성공적으로 수행되었음을 나타내는 쿼리 문자열에서 "URL"매개 변수, 아무도 지정하지 않으면 오류가 발생을 필요로하고 작업이 시도

http://myapp.localhost/admin/an_action/3 

ERROR: ErrorException [ 8 ]: Undefined index: url ~ APPPATH/classes/controller/admin/welcome.php [ 37 ] 

을하지만 난 URL 쿼리 매개 변수를 추가하는 경우, 라우팅는 모두 실패 : 실행하기

http://myapp.localhost/admin/an_action/3?url=myapp.localhost/admin 

Kohana_Request_Exception [ 0 ]: Unable to find a route to match the URI: admin/an_action/3?url=myapp.localhost/admin 

이 라우트 설정은 훨씬 더 실망 스럽기 때문에 동일한 로컬 호스트에서 개발중인 다른 응용 프로그램에서 잘 작동합니다. 아이디어? 내 경로가 제대로 설정되지 않았습니까? Kohana 설치 문제 일 수 있습니까? 도와 주셔서 미리 감사드립니다.

+0

사용'$가 PARAMS = 경로는 :: ('an_action') 취득 -> 경기 ($ URI를)'경로를 확인합니다. 'admin/an_action/3', 'admin/an_action /', 'admin/an_action /? uri = test', 'admin/an_action/3? uri = test'등의 URL을 확인하십시오. – biakaveron

답변

0

안녕하세요! 기본값의 디렉토리는 무엇입니까? 그것을 제거 할 수 있습니까?

Route::set('an_action', 'admin/an_action(/<id>)') 
->defaults(array(
    'controller' => 'Admin_welcome', 
    'action' => 'index' 

);

조치 : :

그래서,이 경우 당신은 다음과 같은 것이다 로컬 호스트/관리/an_action/3 URL 컨트롤러를 엽니 다 : Controller_admin_welcome을 기본 동작으로 - action_index을.

URL에 작업 이름을 넣으려면 Kohana의 예약 된 이름 인 을 사용해야합니다. > - 이름이 확실하지 않습니다. 내일 내 게시물을 업데이트 할 예정입니다.

나는 mod_rewrite를 올바르게 설정하고 index.php 파일을 수정했다고 믿는다.

그리고 이것은 기본 컨트롤러 :

Route::set('default', '(<controller>(/<action>(/<id>)))') 
    ->defaults(array(
     'controller' => 'Main', 
     'action'  => 'index', 
    ));