2012-04-13 3 views
1

내 로컬 호스트의 URL 경로에서 컨트롤러 이름을 제거하는 데 문제가 있습니다.codeigniter 2에서 컨트롤러 이름을 제거하십시오. URL 경로

i have this url - localhost:8888/localhost/site_name/ 

내가 너무 http://codeigniter.com/wiki/mod_rewrite 그와 유사한 내 htaccess로를 사용하여 URL에서 index.php를 제거 할 수 있었다 :

localhost:8888/localhost/site_name/controller_name/ 

하지만 난 할 수 없습니다 :

localhost:8888/localhost/site_name/index.php/controller_name 

은 지금 다음과 같이 경로에서 컨트롤러 이름을 제거하십시오.

localhost:8888/localhost/site_name/controller_name/function_name/ 
,451,515,

가된다 :

localhost:8888/localhost/site_name/function_name/ 

을 나는 단 하나의 컨트롤러를 사용하고, 내가 추가 한 내 경로에

$route['^(function_name1|function_name2|function_name3)(/:any)?$'] = 'controller_name/$0'; 

$route['^(?!ezstore|ezsell|login).*'] = "home/$0"; /*similar variation i tried*/ 

과 다른 변화가 파일 만이 적용되지 않습니다. 나는 또한 _remap 함수를 사용하여 시도했지만이 경우 도움이되지 않습니다.

도움이 될 것입니다! 감사합니다

답변

1

당신은 와일드 카드 경로를 사용할 수 있습니다, 당신은 http://localhost/function_one/param1

에 갈 경우이 기능 function_once 컨트롤러 controller_name를 호출하고 첫 번째 매개 변수로 param1을 전달합니다 다음

$route['(:any)'] = "controller_name/$1";

.


nb : 전체 사이트에 대해 하나의 컨트롤러 만 사용하면 경고음이 울리므로 코드 디자인을 체크 아웃 할 수는 있지만 그게 나 일 뿐이라는 것을 지적해야합니다.