2012-07-17 2 views
0

에서 제거 '지수'어떻게 내가 이렇게 내 urlManager 설정을 가지고 http://localhost/dashboard/index/createYII URL

에서 index를 제거합니까 :

'urlManager' => array(
    'urlFormat' => 'path', 
    'showScriptName' => false, 
    'rules' => array(
     '<controller:\w+>/<id:\d+>' => '<controller>/view', 
     '<controller:\w+>/<action:\w+>/<id:\d+>' => '<controller>/<action>', 
     '<controller:\w+>/<action:\w+>' => '<controller>/<action>', 
    ), 
), 

을 그리고 이것은 나에게 dashboard가있다이 http://localhost/dashboard 같은 깨끗한 URL을 제공합니다 기본 컨트롤러가 indexController 인 모듈.

이제 나는 데 문제는 내가 indexController 내부 actionCreate를 호출하려면 내가 항상 http://localhost/dashboard/index/create을 말을 먼저 예컨대 index을주지 않고 모듈 컨트롤러의 다른 작업에 액세스 할 수 있다는 것입니다.

index을 제거 할 수있는 방법이 있습니까? http://localhost/dashboard/create?

이 내 모듈은 main.php에서 구성하는 방법입니다 :

'modules' => array(
    ... 
    'dashboard' => array(
     'defaultController' => 'index' 
    ), 
    ... 
), 

이 (당신의 urlManager 구성 요소에서 대시 보드로 시작하는 줄을 넣어)과 같이 배열을 정렬 시도

답변

3

:-) 사전에 감사합니다 :

array(
    ... 
    'components' => array(
    ... 
    'urlManager' => array(
     ... 
     'rules' => array(
      'dashboard/<action:\w+>' => 'dashboard/index/<action>' 
    ), 
    ), 
), 
); 
+0

내 문제는 해결되었지만 다음과 같은 오류가 발생합니다. '오류 404 :'대시 보드/대시 보드/작성 '작업을 찾을 수 없습니다. 이것은 부작용입니까? 이 동작을'http : // localhost/dashboard/create'라고 부르지 만 URL에 2 개의 '대시 보드'가 어떻게 끝나는 지 모르겠습니다. 이 스레드를 닫기 전에 어떤 아이디어? – Sthe

+0

음, 추가 대시 보드가 추가되는 이유가 표시되지 않습니다. .htaccess가 아무거나합니까? – Ansari

+0

이 내 htaccess로에있는 모든이다! '한다 RewriteEngine 한다 RewriteCond %에 {REQUEST_FILENAME} 한다 RewriteCond % {REQUEST_FILENAME}을 -f 한다 RewriteRule을 -d. index.php' – Sthe

0

당신은 그것에 대해 .htaccess file을 만들 수 있습니다

RewriteEngine on 
RewriteBase /project_folder_NAME 
# if a directory or a file exists, use it directly 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteCond %{REQUEST_FILENAME} !-d 

# otherwise forward it to index.php 
RewriteRule . index.php