2009-11-27 2 views
0

URI에 쿼리가있을 때 CodeIgniter 라우트에 약간의 문제가 있습니다. 나는 쿼리를 CI의 라우트로 대체하는 것이 좋지만, 이미 쿼리로 모든 것을 수행하는 전제 메시지 보드로 가져오고 있습니다. 이것은 내 경로입니다 :Codeigniter 관련 문제 쿼리가 포함 된 경로

$ route [ 'messageboard/: any any'] = "messageboard/index";

이 경우 스크립트 이름을 나타냅니다. 그래서 messageboard/admin.php라면 미리 만든 메시지 보드의 스크립트 "admin.php"를로드하는 뷰를로드해야합니다. messageboard/admin.php를하면 잘 작동합니다. messageboard/admin.php를 사용하면 괜찮습니까?. 그러나 매개 변수를 쿼리에 넣으면 경로가 사용자를 메시지 보드 컨트롤러로 올바르게 보내지 않고 대신 404로 보냅니다. 누구나이 작업을 수행하는 방법에 대한 아이디어가 있습니까? 나는 영원히 감사 할 것입니다. 감사!

답변

1

좋아들, 나는 그것을 해결했다. 세 가지를 바꿀 필요가있었습니다. 첫 번째는 mtvee의 제안으로 쿼리 문자열을 읽을 수있게 해줍니다. 두 번째 매개 변수는 설정 파일에서 $ config [ 'permitted_uri_chars']를 등호를 포함하도록 변경하려고합니다. 비활성화되기 시작하고 모든 쿼리 문자열은 for? a = 34 또는 이와 비슷한 것입니다. 그. 세 번째는 $ config [ 'uri_protocol']로 이동하여 AUTO에서 PATH_INFO로 변경해야한다는 것입니다. 일단 내가 그 짓을했다면 효과가있었습니다.

+0

해야 할 일은 AUTO에서 PATH_INFO로 $ config [ 'uri_protocol']을 변경하는 것입니다. – Sofia

0

여기에 쿼리 문자열을 사용 체크 아웃 :

$route['messageboard/(:any)'] = "messageboard/index"; //<-- notice brackets 

하지

$route['messageboard/:any'] = "messageboard/index"; 
+0

나는 그들이 같은 일을한다고 생각합니다. 나는 그것을 시도했다. 그래도 고마워! – Ethan

+0

새로운 일상을 배웁니다 :-) CI 2.0에서 – ekhaled